核心结论
严格内容安全策略应围绕“本次响应明确授权哪些脚本”建立信任链,而不是维护不断扩张的域名白名单。典型方案是服务端为每个页面响应生成高熵、不可预测且仅使用一次的 nonce,通过 Content-Security-Policy 响应首部下发,并只写入确实需要执行的可信 script 元素。条件允许时结合 'strict-dynamic',让受信入口加载的后续脚本继承信任,同时移除 'unsafe-inline'、宽泛通配符及不必要的脚本源。
底层机制
浏览器在执行脚本和加载资源时按照策略指令判断是否允许。script-src 约束脚本,script-src-attr 可单独禁止