Chrome 告诉您它知道该指令,但浏览器当前配置为忽略它,无论是否应用它。
SRI(子资源完整性)作为W3C 建议,从 2016 年 6 月开始require-sri-for,但内容安全政策指令后来在2016 年 8 月的编辑草案中引入。草案仅供讨论,可能随时更改。并且默认情况下通常不会启用此类实验性功能,以便为实现、规范或两者的更改腾出空间。
每当 Chrome 在策略中发现该指令时,它会首先检查是否启用了实验性功能,如果是,将解析该指令及其值。如果未启用实验性功能,它将记录您看到的消息:
Content-Security-Policy 指令“require-sri-for”在当前禁用的标志后面实现。
即使稍后使用 禁用脚本,它也会报告该消息script-src 'none',该消息在解析指令时会提前登录到控制台。您可以在CSPDirectiveList::AddDirective方法的源代码中看到它。
要使消息消失,您有两种选择:
启用#enable-experimental-web-platform-features(将其chrome://flags/复制chrome://flags/#enable-experimental-web-platform-features并粘贴到您的 Chrome,重新启动浏览器),并测试您的策略,以便您在require-sri-for发货时做好准备,但这会使消息消失,只有一小部分启用了他们浏览器中的实验性功能
从您的策略中删除require-sri-for,例如如果您不需要它,因为您正在使用script-src 'none',然后在您想要验证脚本时将其添加回来
等到 Chrome 为所有人启用该功能,直到那时用户将在控制台中看到该消息,即使您没有验证加载脚本的完整性
我个人选择选项 3,但我暂时启用了该标志以查看该站点是否可以运行一次require-sri-for。