vue ---根据白名单过滤HTML(防止XSS攻击)
xxs攻击就是通过脚本 更改js代码获取cookie内容以nodejs做测试1.在终端引入xss,命令:npm install xss --save2.在vue的页面进行引入import xss from 'xss'3.定义一个变量进行测试首先测试一个没有进行防止xss攻击的测试<p v-html="test"></p>export def...
·
xxs 攻击就是通过脚本 更改js代码 获取cookie内容
以nodejs做测试
1.在终端引入xss,命令:
npm install xss --save
2.在vue的页面进行引入
import xss from 'xss'
3.定义一个变量进行测试
首先测试一个没有进行防止xss攻击的测试
<p v-html="test"></p>
export default {
data () {
return {
test: `<a onclick='alert("xss攻击")'>链接</a>`
}
}
结果,js事件直接被翻译了
因此应该杜绝这些情况,解决方法如下
4
<p v-html="$xss(test)"></p>
import xss from 'xss'
export default {
data () {
return {
test: `<a onclick='alert("xss攻击")'>链接</a>`
}
}
Object.defineProperty(Vue.prototype, '$xss', {
value: xss
})
此时a标签会保留,但是onclick事件被拦截了
更多推荐
已为社区贡献10条内容
所有评论(0)