bounty将在4天后过期。回答此问题可获得+50声望奖励。Benjamin Gruenbaum希望引起更多人对此问题的关注:我希望更多的关注这一点,并知道是否有一个规范/良好的变通办法。特别是除了重写HTML太多
我们使用puppeteer,有时使用playwright来运行一些集成测试,我们模拟了一些目标页面的脚本依赖项,这会导致subresource integrity哈希不匹配。
无法在资源“http://localhost:3000/static/third-party/adobe-target/at-js/2.4.0-cname/at.js”的“integrity”属性中找到具有计算的SHA-256完整性“47 DEQpj 8HBSa +/TImW+5 JCeuQeRkm 5 NMpJWZG 3 hSuFU =”的有效摘要。该资源已被阻止。”
有没有办法通过标志或配置属性禁用完整性哈希检查?
1条答案
按热度按时间rryofs0p1#
不,我认为唯一的方法是从加载脚本的源代码中修复或删除
integrity
属性。看看这些 chrome (或 Flink )源unless the
integrity
attribute is empty,FetchManager::Loader
将示例化SRIVerifier
,其构造函数调用其OnStateChange
方法,其中对于响应类型basic
、cors
、default
(省去opaque
响应和错误),则调用SubresourceIntegrity::CheckSubresourceIntegrity
。Unless the parsing of theintegrity
attribute fails,SubresourceIntegrity::CheckSubresourceIntegrityImpl
将或者成功地验证摘要之一,否则将失败并显示给定的错误消息。此路径沿着没有选中可覆盖失败检查的配置选项。