内容安全策略框架 - 祖先。 iframe不会在iOS10中加载内容

时间:2016-09-28 08:40:54

标签: ios cordova iframe ios10 content-security-policy

我们的Cordova应用程序无法在iOS 10上加载iframe内容。

我们有一些iframe在应用内部的网页上显示某些信息,因此我们不必复制它们。

在以下任何iOS版本中都可以正常使用。但自从我们的设备更新后,应用程序拒绝加载资源。

Refused to load http://.../.../X.html because it does not appear in the frame-ancestors directive of the Content Security Policy

我尝试编辑我的元Content-Security-Policy标记以允许来自此资源,但这不起作用。我想这个问题是关于网络服务器告诉我的应用程序/浏览器不允许这个来源,但我遗憾的是在那个主题上没那么深。我所知道的是,Web服务器将X-Frame-Options设置为SAMEORIGIN,但是也应该为其他iOS版本禁用它。

那么在这种情况下如何绕过安全配置,所以它的工作方式与早期版本的iOS一样?

请告诉我,如果您需要更多信息,我无法判断我是否遗漏了某些内容。

1 个答案:

答案 0 :(得分:1)

  

我所知道的是,Web服务器将X-Frame-Options设置为SAMEORIGIN,但是也应该为其他iOS版本禁用它。

除现有标题外:

X-Frame-Options: SAMEORIGIN

添加其内容安全策略等效项:

Content-Security-Policy: frame-ancestors 'self'

请记住以下警告:

  

关于支持的一句话。尚未支持所有浏览器,Chrome 40+和FF 35+支持,但如果存在,也会默认为X-Frame-Options。规范说,CSP应该优先考虑。当CSP位于<meta>标记中时,这将不起作用,并且在使用Content-Security-Policy-Report-Only时无效。

<强>参考