是否有一个标志可以禁用铬中的子资源完整性检查?
Posted
技术标签:
【中文标题】是否有一个标志可以禁用铬中的子资源完整性检查?【英文标题】:Is there a flag to disable subresource integrity checking in chromium? 【发布时间】:2021-11-26 22:01:41 【问题描述】:我们使用puppeteer 有时使用playwright 来运行一些集成测试。我们模拟了一些目标页面的脚本依赖,这会导致subresource integrity 哈希不匹配。
Failed to find a valid digest in the 'integrity' attribute for resource 'http://localhost:3000/static/third-party/adobe-target/at-js/2.4.0-cname/at.js' with computed SHA-256 integrity '47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='. The resource has been blocked."
有没有办法通过标志或配置属性禁用完整性哈希检查?
【问题讨论】:
【参考方案1】:没有。我认为唯一的方法是从加载脚本的源中修复或删除 integrity
属性。
查看铬(或闪烁)源,unless the integrity
attribute is empty,FetchManager::Loader
将实例化SRIVerifier
,其构造函数调用其OnStateChange
方法,其中对于basic
、cors
的响应类型, default
(省略 opaque
响应和错误),SubresourceIntegrity::CheckSubresourceIntegrity
被调用。 Unless the parsing of the integrity
attribute fails、SubresourceIntegrity::CheckSubresourceIntegrityImpl
要么成功验证摘要之一,要么失败并显示给定的错误消息。没有沿此路径检查配置选项来覆盖失败的检查。
【讨论】:
以上是关于是否有一个标志可以禁用铬中的子资源完整性检查?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Require JS 的 angularJS 应用程序中的子资源完整性