有国旗在铬禁用子资源完整性检查?



我们正在使用木偶师,有时是剧作家来运行一些集成测试。我们模拟目标页面的一些脚本依赖项,这会导致子资源完整性散列不匹配。

在计算SHA-256完整性'47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU='的资源'http://localhost:3000/static/third-party/adobe-target/at-js/2.4.0-cname/at.js'的'完整性'属性中找到有效摘要失败。资源已被阻塞。">

是否有一种方法可以通过标志或配置属性禁用完整性哈希检查?

No。我认为唯一的方法是从加载脚本的源代码中修复或删除integrity属性。

查看chromium(或blink)源,除非integrity属性为空,否则FetchManager::Loader将实例化SRIVerifier,其构造函数调用其OnStateChange方法,其中对于basic,cors,default(省略opaque响应和错误)的响应类型,SubresourceIntegrity::CheckSubresourceIntegrity被调用。除非integrity属性解析失败,否则SubresourceIntegrity::CheckSubresourceIntegrityImpl要么成功验证其中一个摘要,要么失败并显示给定的错误消息。在此路径上没有检查配置选项来覆盖失败的检查。

我确认你不能在Chrome中这样做。原因是它没有在运行时标志后面实现。像这样的标志在技术上是可以添加的,但可能不值得。

我相信你可以围绕这个工作,例如加载puppeteer与扩展,删除完整性属性,或从puppeteer内删除属性?

最新更新