Vue.js中的XSS攻击

Vue.js中的XSS攻击

Vue.js中数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值:{{ message }},但是双大括号会将数据解释为普通文本,而非 HTML 代码,有的时候需要输出真正的 HTML,就需要使用 v-html 指令。

如下代码:

Vue.js中的XSS攻击_第1张图片

可以看到,使用v-html时恶意代码被执行,而使用{{}}时不会执行。

Vue.js中的XSS攻击_第2张图片

在站点上动态渲染HTML很容易导致 XSS 攻击,我们应该尽量避免使用v-html,尝试使用尽可能多的内插表达式{{}},它们是字符串化的,不能被浏览器执行。如果需要使用,那么应该只对可信内容使用 HTML 插值,不要对用户可控的数据使用。

你可能感兴趣的:(代码审计与安全开发,Vue)