内容安全策略会破坏iOS客户端的站点

时间:2017-02-03 07:15:58

标签: ios content-security-policy

我最近开始在现有网站上使用CSP标头,它似乎与大多数用户一起工作正常,但我现在收到的网站没有加载iOS(Safari和Chrome)的报告,也可以确认我的古老的iPad也无法加载网站。

"违反指令"据报道:

"script-src 'self' 'nonce-sh7cn3n6shh36sa1' cdn.jsdelivr.net ..other uris

即。很标准。

我环顾四周,发现了类似问题报告with iframesweb sockets的报告,但我的网站并未使用其标准HTML + Javascript。

CSP的全部内容是:

Header set Content-Security-Policy-Report-Only "default-src 'self'; \
   script-src 'self' 'nonce-sh7cn3n6shh36sa1' cdn.jsdelivr.net \
              oss.maxcdn.com \
              ajax.googleapis.com \
              cdnjs.cloudflare.com \
              www.google-analytics.com;  \
   style-src 'self' 'unsafe-inline' \
              cdn.jsdelivr.net \
              cdnjs.cloudflare.com \
              maxcdn.bootstrapcdn.com; \
   font-src   'self' maxcdn.bootstrapcdn.com; \
   img-src    'self' data: www.google-analytics.com www.paypalobjects.com; \

这里的最佳做法是什么?有没有办法确保CSP与所有浏览器和操作系统兼容(如安全的子集?)。

我想使用它,但显然不知道可以使用什么是相当有问题的。需要" W3C CSP兼容性测试"或类似的......

1 个答案:

答案 0 :(得分:3)

那是因为你的source expressions缺乏计划:Safari需要它们 至于Chrome,就像iOS上的所有浏览器一样,它只是使用了Safari引擎的包装。