此文档需要“TrustedScriptURL”分配

Hon*_*iao 5 html javascript security content-security-policy

添加require-trusted-types-for 'script';我的Content-Security-Policy标头后,它从 Chrome 83 Beta 引入以帮助锁定 DOM XSS 注入接收器,

当我打开我的网站时,它变成了一个空白页面。我的控制台中出现了很多这三种错误。(Chrome 版本 83.0.4103.61)

本文档需要“TrustedScript”分配。

此文档需要“TrustedScriptURL”分配。

类型错误:无法在“HTMLScriptElement”上设置“src”属性:此文档需要“TrustedScriptURL”分配。

我已阅读文章使用可信类型防止基于 DOM 的跨站点脚本漏洞。但是,文章只说了如何处理TrustedHTML,而不是TrustedScript或TrustedScriptURL。

任何指南都会有所帮助。谢谢!

con*_*exo 6

我们遇到了同样的问题。

这是您修复它的方法:

  1. 安装 DOMPurify 库。 npm install --save DOMPurify

  2. 创建一个文件trusted-security-policies.js。

  3. 在打包器的入口点(例如 webpack),首先导入此文件(在任何可能违反内容安全策略的代码之前):

    import './path/to/trusted-security-policies';
    
    Run Code Online (Sandbox Code Playgroud)
import './path/to/trusted-security-policies';
Run Code Online (Sandbox Code Playgroud)

作用:每当一个字符串被分配为 HTML、URL 或脚本解析时,浏览器会自动通过定义的处理函数传递这个字符串。

对于 HTML,DOMPurify 库正在从潜在的 XSS 代码中清除 HTML。

对于scriptURLand script,字符串只是通过。请注意,这有效地禁用了这两部分的安全性,并且仅应在您尚未确定如何使这些字符串安全的情况下使用。一旦你有了它,相应地替换处理程序函数。


小智 5

检查一下。也许能帮到你。

https://zeronights.ru/wp-content/themes/zeronights-2019/public/materials/3_ZN2019_Jakub_Vrana_Krzysztof_Kotowicz_Trusted_Types_and_the_end_of_DOM_XSS.pdf

潜在修复的参考:

可信类型和 Chrome 浏览器实现的背景:

短期修复选项:

  • 添加仅报告的 CSP 标头。[不太好,如果您运行敏感的产品应用程序,您必须了解各种风险]

长期修复选项:

  • 您可以调查将外部第三方的东西带到您的基地并避免整体痛苦。

我不是专家,只是想从中学习,我想说修复方法几乎是根据具体情况而定,而不是灵丹妙药。

一切顺利!