微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么浏览器会忽略connect-src Content-Security-Policy

如何解决为什么浏览器会忽略connect-src Content-Security-Policy

我正在开发一个React应用程序,该应用程序需要从另一个域中获取一些数据。不出所料,尝试从该域中获取数据时出现CSP错误。通过将CSP标头设置为Content-Security-Policy-Report-Only: default-src 'self';,我期望将报告该连接,但仍然允许该连接。但是,我得到了

拒绝连接到“ https:// mydomain”,因为它违反了以下内容安全策略指令:“ default-src'self'”。请注意,未明确设置“ connect-src”,因此将“ default-src”用作备用。

对于其他违反政策的行为(例如样式),我得到 [仅报告]拒绝应用样式... (按预期)

将标头设置为Content-Security-Policy: default-src 'self'; connect-src 'self' https://mydomain;时,我的行为相同-连接被阻止,错误请注意,未明确设置'connect-src'。为什么设置时未设置它以及如何使其正常工作?我正在使用Chrome 86。

解决方法

正如@granty所指出的,我让CSP既通过标头也通过标签传递。标签似乎覆盖了标题。两种策略都有一些重叠,因此给人的印象是CSP标头在某些情况下有效。 我将继续使用基于标头的方法,因为可以通过服务器配置轻松地自定义该标头,例如在开发环境和产品环境之间。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。