防xss攻击

官方:https://jsxss.com/zh/index.html

xss csrf https://www.cnblogs.com/443855539-wind/p/6055816.html

一、通用方法:Token   使用Anti-CSRF Token   在URL中保持原参数不变,新增一个参数Token。Token的值是随机的(必须使用足够安全的随机数生成算法,或者采用真随机数生成器),其为用户与服务器所共同持有,可以放在用户的Session中,或者浏览器的Cookie中。 注意保密,尽量把Token放在表单中(构造一个隐藏的input元素),以POST提交,避免Token泄露。

 

二、以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事件被拦截了
---------------------
作者:logytar
来源:CSDN
原文:https://blog.csdn.net/qiumen/article/details/88119275
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-04-25 11:34  沐浴阳光☀️  阅读(172)  评论(0编辑  收藏  举报