仅Safari:拒绝连接到…,因为它未出现在内容安全策略的connect-src指令中

问题描述 投票:0回答:1

使用Google Analytics(分析)时,我从Safari 13.1中收到以下错误,但从Chrome中却没有:

Refused to connect to https://www.google-analytics.com/j/collect?XYZ
because it does not appear in the connect-src directive of the Content Security Policy.

我的应用程序未尝试连接到www.google-analytics.com,但从www.googletagmanager.com下载了一个脚本,而该脚本又从www.google-analytics.com下载了一个脚本。

我的CSP的配置如下:

  • script-src 'self' 'unsafe-eval' data: www.google-analytics.com www.googletagmanager.com www.google.com www.gstatic.com
  • connect-src 'self'

因此,正如Safari所说的,google-analytics中没有connect-src,但这似乎对Chrome来说不是问题。

我的CSP是否错误(并且Chrome过于宽容),或者这是Safari中的错误?

google-chrome google-analytics safari content-security-policy
1个回答
1
投票

Safari是正确的。 Chrome is being too permissive

HTTP内容安全性策略(CSP)脚本src指令指定了JavaScript的有效源。

请注意,此声明不合格。

Chrome也违反了CSP的其他规定。例如,blocked-uri用于不同的来源requires that the URI path is stripped,但Chrome不能,而Safari可以。

目前,Safari似乎比Chrome更合规/严格,但是无论如何,您都应该使用更严格的浏览器,因为,实际上您别无选择...

© www.soinside.com 2019 - 2024. All rights reserved.