我必须将 CSP 标头添加到站点。问题是这是一个遗留代码,并且 HTML 中有很多内联脚本和样式。我无法使用“unsafe-inline”,因为目的是真正确保站点安全,并且该指令在 OWASP ZAP 工具扫描中给出了危险信号。我可以在某种程度上重构 HTML 和 JS 代码,但我有几个问题:
我尝试过使用固定随机数(仅适用于 POC)和哈希方式将内联脚本列入白名单。但由于所有 HTML 都是静态的,我如何为每个请求的脚本标记添加新的随机数(随机数的实际情况就是如此)?
在这种情况下,提供所有必需脚本和样式的哈希值是否比随机数更好?
如果我重构所有 HTML 的代码以从 body 标记中删除所有内联脚本并将代码添加到 head 中的单个脚本标记中,这是否意味着内联脚本被消除了?简而言之,in算作内联脚本吗?