SRI、iframe sandbox 与防点击劫持分别解决什么?

先理解原理和示例,再练习完整口述与追问。

资源完整性、嵌入权限、限制谁嵌入当前页;CORS 与 CSP 配合;校验摘要及最小权限。

SRI 用完整性摘要让浏览器检查特定外部脚本或样式是否与预期一致,跨源使用还需满足相应 CORS 条件;它限制资源被替换,不证明原始内容一定无漏洞。iframe sandbox 限制嵌入内容的脚本、表单、同源身份等能力,按必须功能逐项开放。点击劫持则诱导用户在透明或伪装 frame 中点击敏感操作,可用 CSP frame-ancestors 等限制谁能嵌入当前站点。

第三方分析脚本固定版本并使用正确 SRI 摘要,发布时同步更新摘要;不可信预览放到隔离来源的 sandbox iframe,只开放确需能力;支付管理页由响应头设置 frame-ancestors 'none' 或可信白名单,而不是只靠前端 JS 检测 top===self。

同源内容同时开放 allow-scripts 与 allow-same-origin 可能削弱 sandbox 的隔离效果,应按具体结构评估。SRI 摘要不匹配会阻止加载,不能用随意占位摘要发布。

SRI 校验资源版本,sandbox 限制 frame 内能力,frame-ancestors 限制谁能嵌入我。我按威胁模型组合这些机制,使用真实摘要、正确跨域与最小权限,仍保留鉴权、转义和依赖治理。