标签: unsafe-inline

内容安全策略阻止 Angular 样式

我想发布一个具有严格内容安全策略的 Web 应用程序。最后剩下的问题是:style-src 'self';

我在浏览器控制台中收到错误消息,指出根据 CSP 中的 style-src 指令阻止加载资源。该错误引用了从 生成的 main..js 文件中的代码ng build --prod

如果我添加'unsafe-inline'style-srcCSP 中的指令,一切都会正常,但我不想这样做。

我可以在代码或构建选项中做些什么来使 Web 应用程序与更严格的 CSP 配合使用吗?

我使用的是 Angular 11,刚刚升级到 12,但出现了同样的错误。

谢谢!

content-security-policy angular unsafe-inline

7
推荐指数
1
解决办法
2万
查看次数

为什么 CSP script-src unsafe-inline 会在我的 Angular Web 应用程序上引发样式问题?

问题:

当我尝试删除CSPunsafe-inline源时script-src,我的 Angular Web 应用程序不再工作。

这个问题的根本原因是什么?

在 Angular@12+ 中使用 SCSS 时,Angularonloadindex.html

<link rel="stylesheet" href="styles.672c1ac3d6da8cc311a2.css" media="print" onload="this.media='all'">

这会导致头违反 CSPunsafe-inlinescript-src

如何解决此问题并消除我的 Angular Web 应用程序上的此“安全漏洞”?

styles content-security-policy angular unsafe-inline script-src

3
推荐指数
1
解决办法
4189
查看次数

如何添加“unsafe-inline”关键字来运行内联javascript?

我正在学习 javascript 并尝试运行一些内联​​ javascript 代码。我正在使用电子快速入门指南,并且在尝试添加一些内联 JavaScript 之前代码运行良好。这是我的index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'">
    <title>Hello World!</title>
  </head>
  <body>
    <script>
      console.log("Hello World"); // <-- this is the line causing problems
    </script>
    <h1>Hello World!</h1>
    We are using Node.js <span id="node-version"></span>,
    Chromium <span id="chrome-version"></span>,
    and Electron <span id="electron-version"></span>.
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我尝试加载添加了console.log("Hello World")的网页时,出现错误:

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“script-src 'self'”。启用内联执行需要“unsafe-inline”关键字、哈希值(“sha256-m/hGOmrcpR2CLf5ZFUFQux1kBtD2znXvM4R5xVpagmI=”)或随机数(“nonce-...”)。

错误消息告诉我可以添加“不安全内联关键字”。我到底该怎么做呢?

我尝试过搜索示例,例如SO 上的示例content-security-policy.com 上的指南。但所有示例都只是告诉我将“不安全内联”添加到内容安全策略中,而没有实际显示这是如何完成的。

html javascript unsafe-inline

3
推荐指数
1
解决办法
4242
查看次数