Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Safari 13.1拒绝加载Shopify嵌入式应用程序_Safari_Shopify_Content Security Policy - Fatal编程技术网

Safari 13.1拒绝加载Shopify嵌入式应用程序

Safari 13.1拒绝加载Shopify嵌入式应用程序,safari,shopify,content-security-policy,Safari,Shopify,Content Security Policy,我们的应用程序运行正常,但Safari最近的更改导致我们的应用程序崩溃 Safari 13.1开始使用iframe阻止Shopify中嵌入的应用程序 它抛出的错误是: refused to load https://xxdddddd.com/admin/auth/login because it does not appear in the frame-ancestor directive of content security policy. 我们尝试了各种内容安全策略,ch

我们的应用程序运行正常,但Safari最近的更改导致我们的应用程序崩溃

Safari 13.1开始使用iframe阻止Shopify中嵌入的应用程序

它抛出的错误是:

        refused to load https://xxdddddd.com/admin/auth/login because it does not appear in the frame-ancestor directive of content security policy.
我们尝试了各种内容安全策略,chrome和Firefox工作正常,但safari总是出现故障

我们完全去掉了那个标题

我们甚至补充说:

header("Content-Security-Policy: frame-ancestors * 'unsafe-inline' 'unsafe-eval' img-src * data:");

header("Sec-Fetch-Dest: iframe");
header("Sec-Fetch-Mode: navigate");
header("Sec-Fetch-Site: cross-site");
我们尝试了各种组合,但每次都失败了。我发现其他几个应用程序在Shopify和Safari 13.1的嵌入式模式下工作得很好,所以这肯定意味着这是可能的


我注意到的一点是,URL需要在授权后更改,在我们的cast中,它不会随着Safari块而更改,但在其他应用程序中,它会更改浏览器中的URL。然而,我发现他们使用view source的代码没有什么不同。我也尝试复制所有的头文件。他们给出了,但没有任何效果,

您的CSP
框架祖先*“不安全内联”不安全评估img src*数据:
完全错误:

  • 指令块应以逗号分隔
  • frame PRECENTS指令不支持“不安全内联”和“不安全评估”标记
正确的语法CSP应该类似于
frame祖先*;img src*数据:

但矛盾的是,这个错误的CSP确实允许来自任何来源的帧祖先。删除所有不受支持的源后,有效的CSP是
帧祖先*数据:

在错误中:

refused to load https://xxdddddd.com/admin/auth/login because it does not appear in the frame-ancestor directive of content security policy.
混淆了两件事:

  • 帧祖先指令中的短语
    包含错误的指令名称(s在指令名称末尾省略)。这是真正的Safari浏览器错误吗

  • /admin/auth/
    部分-这真的是可公开访问的URL吗?或者此错误是否出现在管理员脚本中,该脚本可能有其他CSP规则

  • 你说在Chrome和Firefox中都工作得很好,但是
    框架祖先*“不安全内联”“不安全评估”img src*数据:
    规则不允许从任何来源加载图像。 因此,您可能正在编辑一个CSP标题,但应用程序确实有另一个标题。如果您熟悉Safari浏览器控制台,您可以检查发送到应用程序页面的真实CSP HTTP头


    无论如何,您可以测试Safari 13.1是否支持*帧内祖先(由于缺少Safari浏览器,我不能这样做)。它将排除当前版本浏览器错误的情况。

    它不起作用。我尝试了各种csp组合,包括你的组合,但都不起作用。同样的错误still@turkyoung你找到解决办法了吗?我遇到了完全相同的问题