背景与价值DOM XSS 常源于不受控的 `innerHTML`/`insertAdjacentHTML` 等字符串注入。Trusted Types 将不安全的字符串通道关闭,仅允许安全构建的可信类型。策略启用(CSP)Content-Security-Policy: require-trusted-types-for 'script'; trusted-types default sanitize-html 创建策略并安全设置 HTML// 创建策略:仅允许受控过滤生成内容 const policy = (window as any).trustedTypes?.createPolicy('sanitize-html', { createHTML: (input: string) => sanitize(input) // 这里的 sanitize 应为严格过滤实现 }); function setHTMLSafe(el: Element, html: string) { el.innerHTML = policy ? policy.createHTML(html) : html; } 增量迁移建议收敛危险 API:封装 `setHTMLSafe` 等统一入口;对历史代码进行替换与审查。第三方库:评估其 DOM 注入方式;为不可改库配置例外策略并跟踪风险。观测:在启用后收集被阻断调用来源与栈,定位高风险路径。指标验证(Chrome 128/Edge 130)阻断率:危险字符串注入被阻断 100%。误报率:≤ 1%(策略与白名单合理配置)。迁移覆盖:关键模块封装替换完成 ≥ 95%。回退与兼容不支持浏览器:保持严格的渲染层过滤与模板转义;避免直接 `innerHTML` 注入。测试清单恶意输入:注入脚本应被策略阻断;过滤后仍能正常显示文本。第三方组件:启用策略后功能无异常;必要例外受控且可审计。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.913378s