使用转义防御XSS_html/css_WEB-ITnose
程序员文章站
2022-06-09 09:18:32
...
在输出的时候防御XSS即对用户输入进行转义,XSS的问题本质上还是代码注入,HTML或者javascript的代码注入,即混淆了用户输入的数据和代码。而解决这个问题,就需要根据用户可控数据具体输出的环境进行恰当的转义。
在html标签中输出
[输出]标签>
只需要htmlencode即可。更具体是转义掉 就可以防止html注入。
输出在普通html属性中
content
好的方案应该是把不可信数据用双引号包裹起来,然后对数据进行htmlencode。
在script标签中输出
确保输出变量在引号中,使用javascript编码输入数据。要防止 截断
输出在on事件中
test
防御:先做javascript编码,再做html编码。因为输出数据位于html标签属性中,浏览器会进行html自解码。
在地址中输出
对协议进行白名单,http或者https,然后对其他部门进行url编码。避免javascript,data uri等伪协议攻击。
下一篇: 2017阿里巴巴秋招前端笔试题总结