javascript - 覆盖内容安全策略 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() 是这里的问题?
解决方案
推荐阅读
- python - 如何从神经网络获得无界的连续输出?
- api - vscode api:如何从文件图标主题中获取图标
- powerbi - 无法执行存储在 Analysis Services/Power BI 中的度量
- visual-studio-code - 如何使用 VSCode 在 Vagrant / Homestead 上运行 Xdebug 3(在 Big Sur Mac 上)
- pine-script - Pinescript:安全表达式参数没有副作用错误
- arrays - 检查是否存在索引 k 使得数组 A[] 的元素顺时针移动形成一个反向双调数组
- html - 如何设置 Vue Core UI 选择值
- c# - 使用 JsonConvert.DeserializeObject,如何警告缺少成员,但继续反序列化?
- vba - 如何使用 VB 脚本完全关闭 Word 应用程序
- c# - DATAGRIDVIEW 比较中的输入字符串格式不正确