首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何包含Chrome扩展的内容安全策略://

如何包含Chrome扩展的内容安全策略://
EN

Stack Overflow用户
提问于 2020-10-07 03:11:53
回答 1查看 244关注 0票数 0

我已经为我的chrome扩展运行了测试,并且我从chrome扩展名/extensionid/tests.html执行它们。

我得到不允许内联脚本的内容安全策略错误。有什么办法可以在测试时删除这些吗?(添加一个元标记来禁用该html或其他不会降低扩展安全性的方法?)

我在我的test.html页面的标题中添加了以下内容

代码语言:javascript
复制
<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的旧策略。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-08 07:59:47

  1. 实际上,wOxxOm回答了问题的第一部分--附加的头/只会使产生的CSP更具限制性。

当出现多个CSP时,所有源/令牌都应该通过所有CSP(通过所有策略过滤)传递,这一节在CSP规范中是不规范的,但是测试显示Chrome和Firefox遵循它。如何通过header、<meta>-tag甚至HTTP标头+元将CSP传递到页面并不重要。

正如您所写的The error shows still the old policy from my manifest.json -它意味着这个CSP在您的情况下是更严格的。

  1. 如果您的不会降低扩展的安全性,那么只需将sha256-values从元标记移动到manifest.json中的CSP即可。这将允许只使用那些散列的内联脚本,不允许任何其他脚本。

负面时刻--你需要在每个脚本改变后重新计算,但是Chrome会帮你的

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64236664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档