我从以下网址了解内容安全政策: http://developer.chrome.com/extensions/contentSecurityPolicy.html
那里提到: “如果您需要一些外部JavaScript或对象资源,您可以通过将应该接受脚本的安全起源列入白名单来放宽策略”
该示例显示您需要将此行添加到manifest.json:
"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"
但是,如果我不仅要支持https://example.com,还要支持每个网站?
顺便说一句 - 是否也可以包含“评估的JavaScript”:'unsafe-eval'
?
我该怎么写呢?
答案 0 :(得分:3)
您引用的页面明确指出,“由于中间人攻击在HTTP上都是微不足道的,无法检测到,因此不会接受这些来源。”因此,http:
起源是正确的。您可以使用仅限协议的来源将Chrome扩展程序允许的所有安全来源列入白名单:script-src 'self' https:
。这是您在Chrome扩展程序中可以做的最好的事情:在整个网络上,您可以将script-src http: https:
列入白名单。
对于另一个问题,现在允许'unsafe-eval'
扩展。在以前版本的Chrome中,它是不被允许的,但似乎谷歌最近改变了他们的立场。