ios - WKWebview [警告] [已阻止] 不允许位于 https ://www. myurl.com 的页面显示来自 mycustomscheme ://? path=somepath 的不安全内容

标签 ios wkwebview content-security-policy

我最近将我的 UIWebview 替换为我的混合应用程序中的 WKWebview。我正在使用自定义方案从应用程序的 native 部分加载图像,正如 Apple 在此处推荐的那样: https://developer.apple.com/videos/play/wwdc2017/220/

我正在从一个看起来像 mycustomscheme://?path=somepath

的 url 加载图像

我添加了 Content-Security-Policy header 以允许混合内容,它看起来像这样(不相关的部分已删除):

Content-Security-Policy: default-src 'self' www.myurl.com ; img-src 'self' mycustomscheme: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ; report-uri https://www.myreporturl.com/

这适用于大多数设备并允许对 mycustomscheme 的请求通过,并在有任何被阻止时报告给 myreporturl。但是,在某些设备上,自定义请求会因以下错误而被阻止: [Warning] [blocked] https://www.myurl.com 的页面不允许显示来自 mycustomscheme://?path=somepath 的不安全内容,并且没有报告被发送到 myreporturl,就好像根本没有加载 header 一样。

我已确认 header 已实际发送,并且有问题的设备正在运行最新的 iOS (12.1.4)。

任何有关如何防止我的自定义请求被阻止的建议都将不胜感激!

最佳答案

尝试以下加载图像策略:

img-src 'self' 'unsafe-inline' 'unsafe-eval' data: http: https: mycustomscheme: filesystem: file:;

关于ios - WKWebview [警告] [已阻止] 不允许位于 https ://www. myurl.com 的页面显示来自 mycustomscheme ://? path=somepath 的不安全内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54773828/

相关文章:

ios - 用于检测 URL 是否已更改的 WKWebView 函数

ios - Swift WKWebView 填充以隐藏对象

ios - WKWebView 不加载 https URL?

javascript - 在 Safari 上的安全沙盒 iframe 中读取 blob?

ios - 如何在 iOS 中创建流体图形动画

ios - requestFinished 方法内的 ASIFormDataRequest

javascript - Firebase Chrome 扩展 Javascript content_security_policy list 3

javascript - 导致内容安全策略 (CSP) 违规错误的本地 jquery.js 文件

android - 找不到 TextInput 功能文档?

ios - UI导航标题查看错误