2016-09-28 165 views
0

我们科尔多瓦的应用程序将无法在iOS 10.内容安全策略框架祖先。在iOS10 IFRAME不会加载内容

加载iframe中的内容,我们有一些I帧显示特定信息的从应用程序内我们的网页,所以我们不必重复它们。

在以下任何iOS版本中都可以正常工作。但自从我们的设备上进行更新后,该应用拒绝加载资源。

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

我试图编辑我的元内容安全策略标记以允许从这个资源,但没有奏效。我想这个问题是关于网络服务器告诉我的应用程序/浏览器不允许这个来源,但我很遗憾没有那么深的话题。我所知道的是,网络服务器将X-Frame-Options设置为SAMEORIGIN,但是应该禁用其他iOS版本。

那么在这种情况下如何绕过安全配置就像在早期版本的iOS中一样工作?

请告诉我,如果您需要更多的信息,我不知道我是否错过了一些东西。

回答

1

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

除了现有的头:

X-Frame-Options: SAMEORIGIN 

添加其内容安全策略相当于:

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

,请注意以下注意事项记住:

字约支持。在所有浏览器中都不支持Chrome 40+和FF 35+支持,但如果存在,也会默认使用X-Frame-Options。 Spec说,CSP应该优先。当CSP处于<meta>标记中时,这不起作用,并且在使用Content-Security-Policy-Report-Only时不起作用。

参考

+0

我真的不能验证答案。项目早已不复存在。我们如何做到这一点? – Silom