首页 > 解决方案 > 覆盖内容安全策略 document.write

问题描述

我有一个 Google Chrome 扩展程序,我可以在其中捕获每个 Web 请求的标头并在标头中查找一些信息。我正在考虑的网站只是一些特殊的网站,它们在源的“元”标签中发送默认的内容安全策略。哪个阻止任何javascript:

<meta http-equiv="Content-Security-Policy" content="script-src 'none';" >

这些网站还在标题中向我发送了他们真正的内容安全策略。简而言之,标题中的内容安全策略应该在我完成标题中的信息搜索后生效。因为,在我找到我正在搜索的信息后,我会覆盖源并使用 document.write() 将新内容写入浏览器,其中包含从我的浏览器扩展程序发送的内容脚本。

首先,我只是不明白哪个 content-security-policy 在哪里生效,因为在 meta 标签中有 content-security-policy 的源不再关心 header 中的 content-security-policy . 元标记中的那个是有效的。那正确吗?此外,当我用 document.write() 覆盖源时,看起来没有内容安全策略不再生效。如果我在“元”标签中替换它,浏览器会在控制台中返回一条警告,说明它已忽略它。标题中的那个根本没有生效。浏览器何时评估内容安全策略,是否有可能重新评估它?还是使用 document.write() 是这里的问题?

标签: javascriptgoogle-chrome-extensionmeta-tagscontent-security-policydocument.write

解决方案


推荐阅读