内容安全策略(CSP)旨在通过为开发人员提供对允许加载页面的资源以及允许执行的脚本的细粒度控制来降低跨站点脚本攻击的风险。
内容安全策略:页面的设置阻止加载http://localhost:3000/favicon.ico(“default-src”)处的资源
当我尝试打开另一个应用程序的路线时,我一直遇到此错误: 内容安全策略:页面的设置阻止加载 http://localhost:3000/favicon.ico 上的资源(“默认...
如何在 Ruby on Rails 中使用不安全哈希内容安全策略
我有一个 Ruby on Rails 应用程序(rails v 6.1.7.9),它允许用户生成内容,因此我想使用内容安全策略。 我有一个自定义 javascript 调用,我想在事件上触发
使用“strict-dynamic”和“nonces”阻止外部脚本注入的资源
我正在尝试为客户实施 CSP,但遇到了一些困难: 我有一个用于谷歌翻译的脚本被拉入 <p>我正在尝试为客户实施 CSP,但遇到了一些困难:</p> <ol> <li>我有一个用于谷歌翻译的脚本被拉入</li> </ol> <pre><code><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit" nonce="0190369b-35c3-4474-b31e-46e09bf5552c"></script> </code></pre> <ol start="2"> <li>我有一个 CSP,其中包括</li> </ol> <ul> <li>随机数值</li> <li>严格动态</li> <li>一些哈希值(这些是经过 sha256 处理的内联样式)</li> </ul> <pre><code>default-src * data: ; script-src 'self' 'strict-dynamic' 'nonce-bc138385-6e60-4e78-8e12-c516b9835ccf' ; style-src 'self' 'unsafe-hashes' https://fonts.googleapis.com 'nonce-bc138385-6e60-4e78-8e12-c516b9835ccf' 'sha256-<someHash>' ; </code></pre> <ol start="3"> <li>控制台错误:</li> </ol> <pre><code>Refused to load the stylesheet 'https://www.gstatic.com/_/translate_http/_/ss/k=translate_http.tr.26tY-h6gH9w.L.W.O/am=DAY/d=0/rs=AN8SPfrCcgxoBri2FVMQptvuOBiOsolgBw/m=el_main_css' because it violates the following Content Security Policy directive: "style-src 'self' 'unsafe-hashes' 'nonce-bc138385-6e60-4e78-8e12-c516b9835ccf' 'sha256-...' ". Note that 'style-src-elem' was not explicitly set, so 'style-src' is used as a fallback. </code></pre> <ol start="4"> <li>注入内联样式的控制台错误</li> </ol> <pre><code>Refused to apply inline style because it violates the following Content Security Policy directive: "style-src 'self' 'unsafe-hashes' 'nonce-bc138385-6e60-4e78-8e12-c516b9835ccf' 'sha256-...'". Either the 'unsafe-inline' keyword, a hash ('sha256-JIj2SxE0HcsALEzIeYfM7TQkcz/B/Cfoc4ARmAXL5Ck='), or a nonce ('nonce-...') is required to enable inline execution. </code></pre> <p>我尝试获取原始脚本的完整性哈希,但谷歌没有提供。我尝试生成哈希,但请求未启用 cors(在谷歌方面),因此它无法使用完整性属性。</p> <p>我已尝试将域 (gstatic.com) 添加到我的白名单中,但由于我使用的是严格动态,所以无法这样做。</p> <p>我的理解是,鉴于我的 src="translate.google.com" 脚本在我的 CSP 中有一个随机数,它应该能够加载资源并注入它们。</p> <p>还有 <pre><code><link></code></pre> 标签存在问题,例如</p> <pre><code><link rel="stylesheet" href="https://use.typekit.net/grj3fwu.css"> </code></pre> <ol> <li>我的 <pre><code>style-src</code></pre> 指令中存在这个元素的随机数。</li> <li>它通过 <pre><code>@import</code></pre> 引入多种不同的样式,例如“https://p.typekit.net/p.css”</li> <li>它有一个不同的 URL,所以即使我将原始的 <pre><code>use.typekit.net</code></pre> 放入我的允许列表中,这个辅助 @import 也会失败。我可以将 <pre><code>p.typekit.net</code></pre> 添加到我的白名单中,但此域名发生变化,我无法控制它。</li> </ol> <p>是否有类似于 <pre><code>strict-dynamic</code></pre> 的 <pre><code><link></code></pre> 元素/<pre><code>style-src</code></pre> 指令?</p> </question> <answer tick="false" vote="0"> <p>尽管 CSP 中的 script 和 style 有很多相似之处,但 strict-dynamic 仅适用于脚本。脚本的潜在威胁比样式的威胁大得多,<a href="https://scotthelme.co.uk/can-you-get-pwned-with-css/" rel="nofollow noreferrer">https://scotthelme.co.uk/can-you-get-pwned-with-css/</a>。</p> <p>由于您已经使用严格动态和随机数彻底锁定了脚本,因此您可以对样式更加宽松,特别是如果您锁定 CSP 的其余部分以防止渗透。在这种情况下,将 *.typekit.net 添加到 style-src 在大多数威胁模型中可能是可以接受的。</p> <p>如果注入的内联样式数量较少,请添加控制台错误中建议的哈希值。</p> <p>如果您无法获取外部文件的哈希值,请尝试下载它并获取校验和。如果它不是版本化脚本并且可能会更改,请改为执行基于主机的白名单。</p> </answer> </body></html>
删除或替换 .NET 9 中框架自动生成的内容安全策略 (CSP) 框架祖先“self”指令
我正在使用 .NET 9 Blazor 创建 iFrame 小部件。但是,在 iFrame 中显示它失败并出现以下错误: 拒绝框架,因为祖先违反了以下内容安全...
为框架祖先生成重复的内容安全策略(Blazor、IIS 和 Chrome)
我已将 Web 应用程序 (sub.domain.com) 发布到 Internet 信息服务 (IIS) 虚拟服务器,现在希望将其显示在 www.otherdomain.com 上的 iFrame 中。已发布的 web.config 文件...
我有一个信任脚本要嵌入到我的项目中。即使添加代码后,由于我们在项目中使用的配置,Cookie 横幅也无法访问并且不会弹出。什么...
如何解决“拒绝加载脚本,因为它违反了以下内容安全策略指令”问题?
当我尝试通过 chrome://extensions/ 在 Chrome 浏览器中测试我的 Web 扩展时,我在 Chrome 浏览器控制台中看到以下错误消息: 拒绝加载脚本'https://js.stripe.com/v3/buy-bu...
为框架祖先生成重复的内容安全策略(IIS 和 Chrome)
我已将 Web 应用程序 (sub.domain.com) 发布到 Internet 信息服务 (IIS) 虚拟服务器,现在希望将其显示在 www.otherdomain.com 上的 iFrame 中。已发布的 web.config 文件...
我正在仅报告模式下设置内容安全策略。 当我测试它时,谷歌浏览器给出了这个错误: 内容安全策略'default-src'self'; script-src 'self' '不安全内联' h...
Google Analytics 和内容安全策略的“不安全内联”配置
出于安全考虑,我们将index.html中脚本的CSP配置中的script-src的“unsafe-inline”替换为nonce。 script-src 'self' 'nonce-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
我试图使用内联样式,但突然控制台给出了此错误并且不让我执行一项重要任务。 tour.reviews 中的每条评论 .mc_评论 ...
当我尝试获取 API 端点时,为什么我的 ASP.NET Core Web API 会出现此错误?
背景 我已经编写和运行 ASP.NET Core Web API 很长一段时间了,但是当我尝试使用 fetch 检索简单端点(更多内容见下文)时,突然出现以下错误: ...
在 Angular 18m SSR 项目中禁用脚本优化后仍然出现内联脚本 CSP 冲突
我正处于建立 Angular 项目的早期阶段。根据之前其他项目的经验,我正在尽早实施内容安全策略,以便我们可以在开发过程中发现违规行为......
Firefox(在 macOS 上的版本 131 中进行了测试)正在尝试“预加载”我网站的 中的 ,但 CSP 由于 d...
这是我的错误 我还是一个创建 Laravel Livewire 应用程序的初学者,如何让 CSP 允许 livewire.js 当我不使用内容安全策略时,Livewire 运行良好,在我使用内容安全之后...
自从我在项目中添加了react-native-google-cast库以来,我的ReactJS代码遇到了问题。 问题如下: 我想将即将到来的 HTTP 视频源投射到我的 Android TV ...
Angular AG 网格 - 内容安全策略 (CSP) 随机数
在对脚本和样式应用 CSP 随机数时,我遇到了 ag-grid (https://www.ag-grid.com/) 的问题。 我遵循 Angular csp 文档中提到的方法(https://angular.dev/best-
我负责使用 Angular 12.0.5 构建一个应用程序。我们的开发指南规定我们不允许使用 内联 JavaScript 并且我们必须使用内容安全策略
有没有办法处理从外部库添加的内联脚本/样式? 在我自己的风格中,我只使用随机数,但无法将其添加到外部库。 我使用 tooltip.io,当库时出现问题...
当我尝试导入 firebase sdk 以在我的 firefox 扩展中使用它们时,我遇到了这个问题 Content-Security-Policy:页面的设置阻止了位于 https://www.gstatic... 的脚本 (script-src-elem)...