【问题标题】:How to set properly "content-security-policy" for Cordova Ios/Windows Phone/Android?如何为 Cordova Ios/Windows Phone/Android 正确设置“内容安全策略”?
【发布时间】:2016-08-02 15:49:19
【问题描述】:

我正在为我们公司构建一个应用程序。我们有一个 iframe(不要问为什么......)加载一个响应式网站。它(应该)对用户透明。

我添加了几行js来管理离线页面。

它在 android 模拟器(带有 Visual Studio 的 cordova)和 android 设备上运行良好。但是我面临一个content-security-policy,我怀疑它是这个错误的来源:

deviceready 在 5 秒后没有触发

根据我的阅读,它可能来自内容安全政策。

我在运行时遇到了这个错误:

拒绝加载框架“gap://ready”,因为它违反了以下规定 内容安全策略指令:“default-src 'self' https://www.mywebsite.fr http://www.mywebsite.fr"。注意'frame-src' 没有明确设置,所以 'default-src' 被用作后备。

你如何看待这个元数据:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' https://www.mywebsite.fr http:///www.mywebsite.fr; child-src 'self' https:///www.mywebsite.fr http:///www.mywebsite.fr; script-src 'self' https:///www.mywebsite.fr http:///www.mywebsite.fr; 
         gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">

还有我的 config.xml:

  <access origin="https:///www.mywebsite.fr" />
<access origin="http:///www.mywebsite.fr" />

感谢您的宝贵时间,

斯蒂夫。

【问题讨论】:

  • 您是否尝试删除您的内容安全策略并查看错误是否仍然存在?
  • 是的:有或没有相同的错误。 (我编辑了我的帖子)

标签: android ios cordova content-security-policy taco


【解决方案1】:

CSP 错误为您提供了所有详细信息。您没有指定“frame-src”指令,因此它会退回到“default-src”,它不会将空白列入白名单:协议。

你有两个选择:

1) 将gap: 添加到您的'default-src'。

2) 添加一个“frame-src”指令并在其中添加gap:

如果您选择 2,您可能还需要添加 'child-src' 指令以便将来兼容与 'frame-src' 相同的值。

【讨论】:

    猜你喜欢
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 2018-02-14
    • 2023-04-03
    • 2015-07-22
    • 1970-01-01
    相关资源
    最近更新 更多