用途:为 Web 应用提供跨站脚本(XSS)攻击的综合防护,覆盖输入净化、输出编码、CSP 响应头与安全编码实践。适用场景包括用户生成内容展示、富文本编辑器、评论系统、搜索功能、动态 HTML 生成与模板渲染。
主要能力:区分反射型、存储型、DOM 型与变异型 XSS 及其对应防御;提供按上下文编码(HTML 实体、属性、JavaScript、URL、CSS);使用 DOMPurify 以允许列表净化富文本;通过 Express 中间件设置带 nonce 的 CSP 头;URL 协议白名单校验;推荐安全 DOM API(textContent、setAttribute、createTextNode)。
使用方式:输出默认编码,使用自动转义的模板引擎;富内容用 DOMPurify.sanitize 配合 ALLOWED_TAGS/ALLOWED_ATTR 允许列表;CSP 通过 res.setHeader 设置 default-src、script-src、frame-ancestors 等指令;URL 用 new URL 校验协议仅允许 http/https。
限制与注意:禁止将用户输入赋给 innerHTML/outerHTML、eval、document.write、字符串形式的 setTimeout/setInterval 或内联事件处理器;不要信任用户输入,不要仅依赖客户端校验,不要用黑名单代替允许列表,不要为便利关闭安全特性。会话应使用 HTTPOnly Cookie,并定期进行安全测试。
资料另提及 references/python-sanitization.md(Python bleach、Flask/Django 模板转义)与 references/nodejs-advanced.md(完整 XSSPrevention 类、Express 中间件、React 组件、Helmet CSP 配置),具体内容暂未提供。