内容安全策略(CSP)旨在通过为开发人员提供对允许加载页面的资源以及允许执行的脚本的细粒度控制来降低跨站点脚本攻击的风险。
所以我使用 firebase auth 连接到我在 tampermonkey 中制作的小型网络应用程序 auth.signInWithEmailAndPassword(电子邮件、密码) 问题是当我在目标页面上使用它时,内容被阻止......
我在我的应用程序中添加 Content-security-policy 标头,方法是提供以下指令值作为 style-src:'unsafe-inline" script-src: www.googletagmanager; font-src: 'self'
无法通过 Firefox 扩展中的 CDN 文件使用 Vue JS
我正在尝试创建一个 Firefox 扩展并在 Vue JS 中准备好它。我正在使用 Vue JS 的 Production CDN 版本 这是我的 manifest.json 的样子: { “姓名”:“...
我正在尝试使 reCAPTCHA 与严格的内容安全策略一起工作。这是我的基本版本,可以正常工作: 超文本标记语言 <question vote="28"> <p>我正在努力使 reCAPTCHA 与严格的内容安全策略一起工作。这是我的基本版本,可以正常工作:</p> <p>HTML</p> <pre><code><script src='//www.google.com/recaptcha/api.js' async defer></script> </code></pre> <p>HTTP 标头</p> <pre><code>Content-Security-Policy: default-src 'self'; script-src 'self' www.google.com www.gstatic.com; style-src 'self' https: 'unsafe-inline'; frame-src www.google.com; </code></pre> <p>但是,我想去掉 <pre><code>unsafe-inline</code></pre> 部分中的 <pre><code>style-src</code></pre>。在<a href="https://developers.google.com/recaptcha/docs/faq#im-using-content-security-policy-csp-on-my-website-how-can-i-configure-it-to-work-with-recaptcha" rel="noreferrer">文档</a>上,写着:</p> <blockquote> <p>我们建议使用 CSP3 中记录的基于随机数的方法。确保在 reCAPTCHA api.js 脚本标记中包含您的随机数,我们将处理其余的事情。</p> </blockquote> <p>但是我无法让它工作......这就是我尝试过的:</p> <p>HTML</p> <pre><code><script src='//www.google.com/recaptcha/api.js' nonce="{NONCE}" async defer></script> </code></pre> <p>HTTP 标头</p> <pre><code>Content-Security-Policy: default-src 'self'; script-src 'self' https: 'nonce-{NONCE}'; style-src 'self' 'nonce-{NONCE}'; child-src www.google.com; </code></pre> <p>这是我在 Chrome 53 上遇到的错误:</p> <blockquote> <p>拒绝应用内联样式,因为它违反了以下内容安全策略指令:“style-src 'self' https:'nonce-{NONCE}'”。启用内联执行需要“unsafe-inline”关键字、哈希值(“sha256-MammJ3J+TGIHdHxYsGLjD6DzRU0ZmxXKZ2DvTePAF0o=”)或随机数(“nonce-...”)。</p> </blockquote> <p>我缺少什么?</p> </question> <answer tick="false" vote="11"> <p>reCAPTCHA 服务已更新,因此不再需要 <pre><code>style-src 'unsafe-inline'</code></pre>。下面的 HTML 和 HTTP 标头应该适用于每个 <a href="https://github.com/google/recaptcha/issues/107" rel="noreferrer">this</a> 已解决的问题:</p> <p>HTML:</p> <pre><code><script src="https://www.google.com/recaptcha/api.js?render=site-key" nonce="{NONCE}"></script> </code></pre> <p>HTTP 标头:</p> <pre><code>Content-Security-Policy: default-src 'self'; script-src 'nonce-{NONCE}'; img-src www.gstatic.com; frame-src www.google.com; object-src 'none'; base-uri 'none'; </code></pre> </answer> <answer tick="true" vote="10"> <p>编辑:这个答案现在已经过时,不再相关。</p> <hr/> <p>我不相信 reCAPTCHA 支持 CSP 而不允许内联样式。我在 reCAPTCHA Github 存储库中发现了<a href="https://github.com/google/recaptcha/issues/107" rel="nofollow noreferrer">这个未解决的问题</a>。</p> <p><a href="https://csp-experiments.appspot.com/recaptcha-nonce-test" rel="nofollow noreferrer">此示例页面使用 CSP</a> 进行 reCAPTCHA 工作,因为它没有定义 <pre><code>style-src</code></pre> 或 <pre><code>default-src</code></pre>。检查页面的 DOM 会发现这个插入的 div:</p> <pre><code><div class="g-recaptcha" data-sitekey="6LdOLRgTAAAAAPYECt9KLIL_LLwOuuuHAUw7QUTm"> <div style="width: 304px; height: 78px;"> <div> <iframe src="https://www.google.com/recaptcha/api2/anchor?k=6LdOLRgTAAAAAPYECt9KLIL_LLwOuuuHAUw7QUTm&amp;co=aHR0cHM6Ly9jc3AtZXhwZXJpbWVudHMuYXBwc3BvdC5jb206NDQz&amp;hl=en&amp;v=r20160926121436&amp;size=normal&amp;cb=g72al0v10dxg" title="recaptcha widget" width="304" height="78" role="presentation" frameborder="0" scrolling="no" name="undefined"></iframe> </div> <textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none; display: none; "></textarea> </div> </div> </code></pre> <p><pre><code>textarea</code></pre>的内联样式计算为<pre><code>MammJ3J+TGIHdHxYsGLjD6DzRU0ZmxXKZ2DvTePAF0o=</code></pre>,由以下公式确定:</p> <pre><code>echo -n "width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none; display: none; " | openssl dgst -sha256 -binary | base64 </code></pre> <p>这与错误消息中指示的哈希值相匹配。然而,在 <pre><code>style-src</code></pre> 中包含哈希值对于 Chrome 中的内联样式不起作用<a href="https://bugs.chromium.org/p/chromium/issues/detail?id=546106" rel="nofollow noreferrer">根据这个未解决的错误</a>。看来这将得到 <pre><code>unsafe-hashed-attributes</code></pre> 的支持,据我所知,Chrome 版本尚未发布。</p> <p>无论如何,添加哈希值使其可以在 Firefox 中运行。</p> </answer> <answer tick="false" vote="-4"> <p>在 ASp.Net 应用程序的 web.config 文件中使用以下代码。</p> <pre><code><child-src> <add source="www.google.com"/> </code></pre> <p></p> </answer> </body></html>
我正在尝试从 directus CMS 站点显示 pdf 文件,但它显示错误“拒绝从‘https://eal.com/assets/7e7ec2d1-eab7-41fa-8181-e972eba1fd1e’加载插件数据,因为它违反了...
我有一个 .net core Web 应用程序,它使用 UseSpa 来服务器反应应用程序。 我添加了一个 csp,其中包括以下内容: applicationBuilder.UseCsp(csp => { // 如果
使用nonce或sha-256是否允许执行内联事件处理程序?
我对内容安全策略有一点疑问...我的渲染文件 pug 由内联事件处理程序组成,例如 onclick='someFunction()' ...在我安装头盔以添加额外标头后,它是
脚本导致“拒绝执行内联脚本:需要‘unsafe-inline’关键字、散列…或随机数才能启用内联执行”
我不断收到此错误: 拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“default-src'self'data:gap:http://www.visitsingapore.com http...
如果父页面要屏蔽某些嵌套的frame源,可以使用Content Security Police frame-src。但如果框架本身包含其他
Content-Security-Policy 阻止调用而不考虑指令
我将当前指令配置为 script-src 'self' https://testcdn-a.akamaihd.net 'unsafe-inline' style-src 'self' https://testcdn-a.akamaihd.net 'unsafe-inline' 我已经设置好添加 Cont...
Content Security Policy header 是怎么回事?
所以我有一个外部网络安全公司的客户标记了内容安全策略标头没有 default-src 并且它不应该是内联等只有升级不安全的要求...
使用 ajax 从 HTTP 请求执行 javascript 的 CSP 问题
使用“严格动态”适用于 CHROME,但不适用于 FIREFOX。 使用火狐: 使用“self”时,只会加载我的脚本文件。但是来自 ajax 的 javascript 代码被拒绝了。 用'strict-dynamic'我的屏幕...
Create React App - 阻止 Google Maps API 的内容安全策略
我正在使用 Create React App 和 Google Maps API (react-google-maps-api)。由于与内容安全策略相关的错误,地图组件无法正常工作。 我做了一些事情来尝试解决...
通过启动板的“管理站点”访问的“站点设置”页面现在允许启用“异步模块加载”。 但是一旦启用,一些 SAPUI5
我正在嵌入一个使用 .NET 6 React 模板构建的 React-.NET 6 webapp。当我运行该应用程序时,React UI 呈现良好。但是,当我将指向已部署的 webapp 的链接放在 iframe 中时,这样...
在具有严格内容安全策略的页面上与 Chrome 扩展中的自定义 Web 组件交互
我正在制作一个 Chrome 扩展程序,它需要与第三方网页上的自定义 Web 组件(自定义复选框)进行交互。我需要从我的内容中访问元素的属性和方法
无法使用 Google 地图 API 实施严格的内容安全策略
对于 maps.googleapis.com 的 common.js 文件,我在 chrome 开发者工具的控制台中多次出现以下错误- 常见的.js:15 拒绝应用内联样式,因为它违反了以下...
来自 *.demdex.net 和 *.tt.omtrdc.net 的 CSP 违规,而这些域在白名单中
我在页面上设置 CSP 标头时遇到问题,根据 https://docs.adobe.com/content/help/en/id-service/using/reference/csp.html 我已经添加了相关的域名...
为什么 vortex.data.microsoft.com 使用我的 CSP?
我有一个 Web 应用程序,它使用自定义 Web 协议 my-webpcl:// 来启动本地应用程序。本质上,一个 .exe 从 HTML 页面启动,与 Valve 与 Steam steam:// Br ...
出于某种原因,Chrome(或者至少是我的 Chrome)没有报告 CSP 违规行为。它正确地拒绝显示禁止的内容,但不报告违规行为。相比之下,Firefox