这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天
XSS的防御
不要将用户提交内容直接转换成DOM
预防XSS——现成工具
前端
- 主流框架默认防御XSS
- googLe-closure-library 服务端(Node)
- DOMPurify
-
用户需求:必须动态生成DOM: 对string进行转义;
-
上传SVG:对SVG进行扫描;
-
自定义样式 攻击:
Content Security Policy(CSP)内容安全策略
- 哪些源(域名)被认为是安全的
- 来自安全源的脚本可以执行,否则直接抛错
- 拒绝eval+inline script
防御 CSRF
-
当检测到异常来源的时候,限制这种异常请求;
-
检测token,保证token的有效期;
-
iframe攻击:设置利用http响应头部:X-Frame-Options
- 避免用户信息被携带:SameSite Cookie
核心:我的cookie只能为我所用;
限制的主要是cookie的domain字段:
SameSite 不同于 CORS:
SameSite:
- Cookie发送
- domain vs 页面域名
- “我跟你说个事儿,出这屋我可就不认了"
CORS:
- 资源读写(HTTP请求)
- 资源域名vs页面域名
- 白名单
防御Injection
防御SQL的injection
防御Dos
防御基于正则的Dos
防御DDos
防御中间人:https
简略https过程: