缓存与服务端渲染并存时,如何为内容安全策略生成并传递可信随机数?
简答题困难450 次浏览
参考答案与解析
# 核心结论
内容安全策略使用随机数授权脚本时,随机数必须在最靠近最终响应组装的位置,针对每个文档响应使用密码学安全随机源独立生成,并同时写入 Content-Security-Policy 响应头与本次响应中受信任的 <script> 标签。它不是会话标识、长期密钥或构建配置,不能跨请求、跨用户复用。若完整的服务端渲染页面连同随机数一起进入共享缓存,后续用户会收到相同策略和相同随机数,攻击者便可能事先取得该值并将其复制到注入的脚本标签中。因此,完整 HTML 文档要么禁止共享缓存,要么仅缓存不含随机数和用户数据的模板,并由边缘节点逐响应注入新的随机数。
# 底层机制
浏览器解析 `Content-Secu
