我已经为我的chrome扩展运行了测试,并且我从chrome扩展名/extensionid/tests.html执行它们。
我得到不允许内联脚本的内容安全策略错误。有什么办法可以在测试时删除这些吗?(添加一个元标记来禁用该html或其他不会降低扩展安全性的方法?)
我在我的test.html页面的标题中添加了以下内容
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'sha256-jynp9uOEMlgu3tR4l2Dr3s2aDinAZ60XBJB90peqSiY=' 'sha256-15MCFd4+StoldY1/R3pkitrT0zw4gNvsPZieV/QiqRE=' 'sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=' 'sha256-PnGpdwmF8gaODbB6epAipygkpV6GFPS46JZtI9veRzU=' 'sha256-J4clsEh5/6tMX7sob7FXvQGfQUYKmTGqi2iPvj3P6n4=' https://apis.google.com/ https://www.gstatic.com/ https://*.firebaseio.com https://www.googleapis.com https://ajax.googleapis.com; object-src 'self'">但是,我仍然会在控制台中看到有关内容安全策略的错误。错误仍然显示来自我的manifest.json的旧策略。
发布于 2020-10-08 07:59:47
当出现多个CSP时,所有源/令牌都应该通过所有CSP(通过所有策略过滤)传递,这一节在CSP规范中是不规范的,但是测试显示Chrome和Firefox遵循它。如何通过header、<meta>-tag甚至HTTP标头+元将CSP传递到页面并不重要。
正如您所写的The error shows still the old policy from my manifest.json -它意味着这个CSP在您的情况下是更严格的。
sha256-values从元标记移动到manifest.json中的CSP即可。这将允许只使用那些散列的内联脚本,不允许任何其他脚本。负面时刻--你需要在每个脚本改变后重新计算,但是Chrome会帮你的
https://stackoverflow.com/questions/64236664
复制相似问题