内容安全政策在我的网站上无效?

时间:2016-10-01 18:16:03

标签: html apache .htaccess http content-security-policy

我试过这个CSP

    Header set Content-Security-Policy: "default-src 'self'; script-src 'self' https://www.google-analytics.com; style-src 'self' https://twemoji.maxcdn.com; img-src 'self' https://twemoji.maxcdn.com"

我希望它从我的域和twemoji maxcdn加载我的图像和CSS,并从我的域和谷歌分析脚本..但它不起作用..内容显示,但没有CSS!它看起来像带有图像的纯文本网站..甚至来自tweemoji的图像没有出现,只有我网站上托管的图像正在工作..甚至我单独尝试了script-src和style-src ..!似乎什么都没有用..我甚至也尝试过通配符..!但当我拿出CSP标题时,我的网站正确加载..!

当我使用该设置激活csp时,这就是我的网站的样子..

enter image description here

我在这里做错了什么?我试图在http网站上使用CSP ..我正在使用htaccess ..!

还有一个,如何允许内联css?

2 个答案:

答案 0 :(得分:1)

我在您的网站上模拟了您的CSP标题,因为我在检查时已将其禁用。由于怀疑是oreoshake,问题是你的代码中有内联脚本和内联样式,但你的CSP不允许这些。

您可以使用'unsafe-inline' for style-src来解决此问题。您可能仍然遇到问题,因为'unsafe-inline'需要'unsafe-eval'script-src;这两者都是可怕的,并且非常诚实,打败了CSP的目的。

Console log showing CSP violations

答案 1 :(得分:0)

如果您可以发布您看到的错误或提供示例网址会很有帮助,但我会猜测'unsafe-inline'style-src缺少问题。

不要担心添加某些东西的影响"不安全"。对于这种情况,风险几乎为零,我敢打赌,那里没有单一的CSP,不会对任何非平凡的网站使用style-src 'unsafe-inline'