(HTML, CSS) 拒绝加载脚本

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

请帮帮我!我正在将 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>
html css materialize
1个回答
1
投票

CSP 是一种安全功能,通过指定允许在页面上加载哪些内容源,有助于保护 Web 应用程序免受各种攻击,例如跨站点脚本 (XSS)。

要解决此问题,您需要更新您的 CSP 以包含适当的“script-src”指令以及您的脚本从中加载的源。您可以通过在服务器的响应中添加 Content-Security-Policy HTTP 标头来做到这一点。

用你的脚本添加这个标题

Content-Security-Policy: script-src 'self' https://example.com;
© www.soinside.com 2019 - 2024. All rights reserved.