【发布时间】:2022-03-16 11:59:03
【问题描述】:
我想访问这个脚本:
<script src="https://js.stripe.com/v3/"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.js"> </script>
还有这个样式表:
<link rel="stylesheet" href="https://api.mapbox.com/mapbox-gl-js/v2.1.1/mapbox-gl.css">
但我有一些类似这样的错误:
拒绝加载脚本“https://js.stripe.com/v3/”,因为它违反了以下内容安全策略指令:“script-src https://cdnjs.cloudflare.comhttps://api.mapbox.com'self' blob:”。请注意,'script-src-elem' 没有显式设置,因此 'script-src' 用作备用。
我使用元标记访问所有具有所有资产的网站,但不起作用:
<meta http-equiv="Content-Security-Policy" content="default-src https:">
【问题讨论】:
-
由于您观察到 CSP 违规:
Refused... "script-src https://cdnjs.cloudflare.com https://api.mapbox.com 'self' blob:",一些 CSP 已经发布(可能通过 HTTP 标头)。通过<meta>添加第二个 CSP 无法缓解第一个 CSP。您必须弄清楚第一个 CSP 的发布位置并对其进行编辑 - 将https://js.stripe.com添加到script-src https://cdnjs.cloudflare.com https://api.mapbox.com 'self' blob:中。