请帮帮我!我正在将 html 网站部署到 Heroku 中,但出现此错误...
Refused to load the script 'https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.js' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
这是我的 footer.hbs 文件:
<script
src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"
></script>
<script src="/app.js"></script>
这是我的 head.hbs 文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="con">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<link rel="stylesheet" href="/index.css">
<title>{{title}}</title>
</head>
```</div>
CSP 是一种安全功能,通过指定允许在页面上加载哪些内容源,有助于保护 Web 应用程序免受各种攻击,例如跨站点脚本 (XSS)。
要解决此问题,您需要更新您的 CSP 以包含适当的“script-src”指令以及您的脚本从中加载的源。您可以通过在服务器的响应中添加 Content-Security-Policy HTTP 标头来做到这一点。
用你的脚本添加这个标题
Content-Security-Policy: script-src 'self' https://example.com;