XSS 常用防御方式
2017-07-28 本文已影响0人
hyperRect
1. HTML
1.1 head 设置charset = UTF-8
- 防止IE下自动使用 UTF7
1.2 content-type JSON时 需要明确设置
- 防止给JSON中注入js
2 HTTP响应头
2.1 X-XSS-PROTECTION: 1;mode=block
- 开启浏览器XSS过滤器
2.2 X-Frame-Options:deny
- 响应头会被禁止加载到frame中
2.3 X-Content-Type-Options:nosniff
- 禁止浏览器做MIME嗅探
2.4 [重要] Content-Security-Policy: default-src:'self'
- 只允许本origin的资源
- default-src = 各种资源
- script -src , img -src 脚本资源, 图片资源
可以设置的值除了 self 之外 script-src还可以设置 unsafe-inline 但一定要跟 nounce
2.5 Set-Cookie:key = value; HttpOnly
- 设置Cookie成为只读