首页/安全/漏洞与攻击面速查/XSS 防护清单与富文本处理
Web 漏洞原理与防护55 条

XSS 防护清单与富文本处理

实践中的 XSS 防护分三层:默认转义、必要时的输入净化(富文本白名单)、运行期缓解(CSP 与 HttpOnly);只做其中一层不足以覆盖全部入口。

漏洞与攻击面速查安全更新于 2026-10-12

三层防护要点

三层防护要点
1. 输出层:模板引擎默认转义开启(Jinja2 autoescape、Thymeleaf 等)
2. 富文本:服务端用白名单库净化(标签与属性白名单)
3. 缓解层:会话 Cookie 加 HttpOnly;部署 CSP;敏感页面禁止被嵌套

CSP 响应头示例

CSP 响应头示例
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'none'" always;
内容安全策略可先用 Report-Only 模式收集违规报告,确认没有误杀后再切换强制模式。

易错点

  • 富文本用黑名单过滤(去 script 标签):畸形标签与事件属性仍可执行,应使用白名单净化库

数据来源与参考

  • OWASP XSS Prevention Cheat Sheet
  • W3C CSP Level 3 规范
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌