我试过这个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时,这就是我的网站的样子..
我在这里做错了什么?我试图在http网站上使用CSP ..我正在使用htaccess ..!还有一个,如何允许内联css?
答案 0 :(得分:1)
我在您的网站上模拟了您的CSP标题,因为我在检查时已将其禁用。由于怀疑是oreoshake,问题是你的代码中有内联脚本和内联样式,但你的CSP不允许这些。
您可以使用'unsafe-inline'
for style-src来解决此问题。您可能仍然遇到问题,因为'unsafe-inline'
需要'unsafe-eval'
和script-src
;这两者都是可怕的,并且非常诚实,打败了CSP的目的。
答案 1 :(得分:0)
如果您可以发布您看到的错误或提供示例网址会很有帮助,但我会猜测'unsafe-inline'
中style-src
缺少问题。
不要担心添加某些东西的影响"不安全"。对于这种情况,风险几乎为零,我敢打赌,那里没有单一的CSP,不会对任何非平凡的网站使用style-src 'unsafe-inline'
。