web - 为什么我的内容安全策略在Safari以外的所有地方都有效

标签 web safari content-security-policy

我将安全策略定义为:

default-src 'self'; script-src 'self'; frame-src 'self';  style-src 'self' 'unsafe-inline'; 

(我仍然在几页的顶部放置CSS)。

我在Firefox或Chrome上没有问题(IE尚不支持CSP),但是,当我尝试在Safari中进行测试时,出现了一系列错误,例如:
Refused to load style from 'http://localhost/styles/alliance.css' because of Content-Security-Policy.
.
.
.
Refused to load image from 'http://localhost/images/Landing1.jpg' because of Content-Security-Policy.
.
.
.
Refused to load script from 'http://localhost/JQuery/jquery-1.7.2.min.js' because of Content-Security-Policy.

图像应该被default-src覆盖,另外两个被列为“Self”,因此我不知道为什么Safari不接受我的图像和脚本。我没有Mac,因此我在Windows(5.1.7)上使用Safari。

有任何想法吗?谢谢!

最佳答案

Safari 5在实现CSP方面有些落后。 Safari 6更好,但我认为它不是针对Windows发行的。我认为您只是看到实现错误。如果Windows可以使用WebKit夜间服务,那么这可能是测试的不错选择。

不过,老实说,我不建议向Safari 5提供X-WebKit-CSP header 。Safari 6是的,但是5有点破损,无法真正使用。

另请注意,您可以简化策略。 script-srcframe-src都将回落到default-srcdefault-src 'self'; style-src 'self' 'unsafe-inline'应该具有相同的效果。

关于web - 为什么我的内容安全策略在Safari以外的所有地方都有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13663302/

相关文章:

javascript - Safari 10 CSS.supports ('display' , 'contents' ) 返回 true 即使它不受支持?

html - Firefox iframe 中的 CSP header 在具有动态内容的整个页面上工作

javascript - 禁用内容安全策略

java - 如何使用 selenium webdriver 切换到重定向 url

html - 背景图像尺寸

html - 在 html 页面的开头添加垂直空间

html - Flex/Grid 布局不适用于按钮或字段集元素

javascript - 如何使用 javascript 从网站下载时重命名文件?

css - 如何通过CSS增加元素的宽度?

python - 如何处理此错误 : __init__() got an unexpected keyword argument 'book_category'