XSS
跨站脚本攻击。攻击者将可执行代码注入网页中。 分为持久型和非持久型。持久型:攻击代码被服务端写入数据库,危害大,正常访问页面的用户都受到攻击。非持久型:一般修改URL参数加入攻击代码,诱导用户访问链接进行攻击。
防御方法
转义字符
对引号,尖括号,斜杠进行转义。
缺点:显示富文本不能通过上面的方法来转义所有的字符,可能会把需要的格式也过滤掉。
白名单或黑名单
富文本需要过滤的标签和标签属性太多,更适合白名单。
CSP
本质是建立白名单,告诉浏览器哪些外部资源可以加载和执行。只需要配置规则,如何拦截由浏览器实现。
开启
设置HTTP Header中的Content-Security-Policy设置meta 标签 <meta http-equiv='Content-Security-Policy>