内容安全策略(CSP)旨在通过为开发人员提供对允许加载页面的资源以及允许执行的脚本的细粒度控制来降低跨站点脚本攻击的风险。
我正在为 Firefox 编写插件,但内容安全策略有问题。当我按下按钮时,它需要访问 Google API,所以我在 popup.html 中添加了以下脚本标签 <
拒绝连接到*.my.salesforce.com,当使用iframe登录salesforce里面的salesforce
有一个 Web 应用程序具有用于 Salesforce 的 SSO,这是使用 keycloak OIDC 实现的。 Web 应用程序提供了一个登录页面,其中包含使用 Salesforce 登录选项。 这个网
我在我的项目中使用 Primefaces 8.0。 我正在尝试按照此处所述配置内容安全策略。 这是我的配置的样子: 我在我的项目中使用Primefaces 8.0。 我正在尝试按照 here. 中的说明配置内容安全策略 这就是我的配置: <context-param> <param-name>primefaces.CSP</param-name> <param-value>true</param-value> </context-param> <context-param> <param-name>primefaces.CSP_POLICY</param-name> <param-value>script-src 'self' https://wchat.freshchat.com</param-value> </context-param> 在 Mozilla Firefox 中一切正常。 但在谷歌浏览器中,我收到这些错误消息: jquery.js.jsf?ln=primefaces&v=8.0:2 Refused to run the JavaScript URL because it violates the following Content Security Policy directive: "script-src 'self' https://wchat.freshchat.com 'unsafe-hashes' 'nonce-MWYzYWZiMTEtNzM0Mi00Mzc1LWI0OTMtZTY3YWU4NTI2NjIx'". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution. 我注意到这些错误发生在使用PrimeFaces Editor的页面上 显然问题是 src="javascript:true; 是在渲染 PrimeFaces Editor 时添加的。 请告知如何解决此问题。
Firebase 后端与 MV3 Chrome 扩展程序交互时如何保护它? (AppCheck, Auth, ...)
为了保护我自己和我的项目免受欺诈和滥用(特别是因为 Firebase 计费不允许硬限制)我真的很想用 AppCheck 保护 Cloud Function 端点。 ...
如何在html中为connect-src内容安全策略设置通配符?
在html中我有这个 在html中我有这个 <meta http-equiv="Content-Security-Policy" content="default-src 'self'; connect-src file: https://data.global ws://localhost:* http://localhost:*; img-src http://localhost:* file: blob: data:; font-src file: http://localhost:*; script-src 'self' 'unsafe-eval'; style-src 'self' 'unsafe-inline'" /> 但是对于connect-src我有很多域我想列入白名单。有时它们会被频繁创建,所以我不想每次都更新。有没有办法只允许所有域?我可能会删除 connect-src 但随后 default-src 将启动并破坏它。
生产错误:拒绝加载脚本 react-google-maps/api
我正在使用 @react-google-maps/api 和 react js 我在使用 useLoadScript 挂钩时遇到问题,isLoaded 返回 false 并出现以下错误 拒绝加载脚本 'https://maps.goog...
style-src 阻止 JavaScript 编辑内联样式
内容安全策略:默认源*; script-src 'self' 'unsafe-hashes'; style-src 'self' 'unsafe-hashes' 函数 pureFadeOut(elem){ var el = document.getElementById(elem); el.style.opacity...
我创建了一个 Azure 服务应用程序。我正在使用网站内容安全策略来保护它。除了当我使用它时,它会阻止我不希望它阻止的事情。 我正在使用 recaptcha,这是 ...
设置限制性 Referrer-Policy 时第三方 JavaScript 访问 document.location?
Referrer 策略限制何时在请求上设置 Referer 标头,如果允许标头,则引用 URL 的哪些部分可用。这是对用户隐私的考虑。如果我...
我在页面上添加了我的脚本,如下所示: app.Use(async (context, next) => { var ByteArray = new byte[20]; 使用 (var Rnd = RandomNumberGenerator.Create())...
如何将附加信息附加到浏览器 report-to/report-uri/report-endpoints 报告 api?
我目前有一个内容安全策略 (CSP),它正在设置并记录一些信息,但想添加一些附加信息以进行记录。例如我想记录信息...
在 <style> 标签内时背景图像未加载。在 <div> 本身中设置样式时效果很好。不是不正确的文件路径问题
我无法将背景图片放入 标签中,我不知道为什么它不起作用。 以下所有操作都是在我的本地机器上完成的。我的网站也托管在 Linode 服务上...</desc> <question vote="1"> <p>我无法将背景图片放入 <pre><code><style></code></pre> 标签中,我不知道为什么它不起作用。</p> <p>以下所有操作均在我的本地机器上完成。我的网站也托管在 Linode 服务器上。</p> <p>我有以下代码,可以正常工作。它直接在身体内的<pre><code>div</code></pre>中设置背景图像(通过Django):</p> <pre><code><body> <div class="scroll-container" style="background-image: url('{% static 'myapp/scroll-L.jpg' %}');"> </div> </body> </code></pre> <p>当我加载页面时,您可以看到滚动图像加载正常(image1 <a href="https://i.imgur.com/T75mFyl.png" rel="nofollow noreferrer">https://i.imgur.com/T75mFyl.png</a>)</p> <p>然而,当我将背景图像放入<pre><code><style></code></pre> 中的<pre><code><head></code></pre> 标签时,一切都开始出错:</p> <pre><code><style> .scroll-container { background-image: url("../../static/myapp/scroll-L.jpg") } </style> </code></pre> <p>当我加载页面时,您可以看到滚动图像未加载(image2 <a href="https://i.imgur.com/RCsWhE7.png" rel="nofollow noreferrer">https://i.imgur.com/RCsWhE7.png</a>)</p> <p>我不能在 head 样式标签中使用 Django 的 <pre><code>{% static ... %}</code></pre>,所以它不起作用。</p> <p>这显然与对象存储 (eu-central-1.linodeobjects) 有关,但我不知道是什么。为什么在 <pre><code>div</code></pre> 风格而不是 <pre><code>style</code></pre> 标签内使用图像时它会起作用?</p> <p>我已经搜索了大约 2 个小时试图找到修复程序,但我无法弄清楚。</p> <p>文件路径是正确的,但只是为了确认我尝试了以下但没有成功:</p> <pre><code>.scroll-container { background-image: url("static/myapp/scroll-L.jpg") } .scroll-container { background-image: url("/static/myapp/scroll-L.jpg") } .scroll-container { background-image: url("/../../static/myapp/scroll-L.jpg") } {% load static %} .scroll-container { background-image: url("{% static 'myapp/scroll-L.jpg' %}") } </code></pre> <p>我需要做一些事情,而不是将背景图片直接放在 div 中,因为我正在为我的网站整理<pre><code>CSP</code></pre>,如果它是样式直接设置到 div.<pre> </pre>我还尝试将图像直接放在模板文件夹中,这样我就可以调用:<pre> </pre><code>nonce</code></p> <p>但是那也没有用。我也试过把它放进</p><code>hash</code><pre>,但收效甚微。</pre> <p>编辑:这是我在 settings.py 中存储对象的代码:<pre> </pre><code>.scroll-container { background-image: url("scroll-L.jpg") } </code></p> <p> </p> <pre>您想使用 s3 存储作为 CloudFront(CDN)。所以你需要配置</pre>AWS_S3_CUSTOM_DOMAIN</question>变量。<answer tick="false" vote="0"> <p><code>master.css</code><strong> </strong>官方 django-storages 文档。 </p>点击查看<pre></pre> <p> <a href="https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#cloudfront" rel="nofollow noreferrer"> </a>这是对将来遇到同样问题的任何人的修复。</p> </answer>我没有调用背景图像的文件路径,而是直接从我的对象存储桶中调用图像:<answer tick="false" vote="0"> <p><code># Object Storage for Django static files (https://www.codingforentrepreneurs.com/blog/linode-object-storage-for-django-static-files/) DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage' AWS_S3_OBJECT_PARAMETERS = { 'CacheControl': 'max-age=86400', } LINODE_BUCKET = os.environ.get('LINODE_BUCKET', 'hmst-bucket') LINODE_BUCKET_REGION = os.environ.get('LINODE_BUCKET_REGION', 'eu-central-1') LINODE_BUCKET_ACCESS_KEY = os.environ.get('LINODE_BUCKET_ACCESS_KEY', '#') LINODE_BUCKET_SECRET_KEY = os.environ.get('LINODE_BUCKET_SECRET_KEY', '#') AWS_S3_ENDPOINT_URL = f'https://{LINODE_BUCKET_REGION}.linodeobjects.com' AWS_ACCESS_KEY_ID = LINODE_BUCKET_ACCESS_KEY AWS_SECRET_ACCESS_KEY = LINODE_BUCKET_SECRET_KEY AWS_S3_REGION_NAME = LINODE_BUCKET_REGION AWS_S3_USE_SSL = True AWS_STORAGE_BUCKET_NAME = LINODE_BUCKET AWS_DEFAULT_ACL = None </code></p> <p>当我尝试打开图像时,出现 403(禁止错误)并显示以下消息:</p> <pre><code>AWS_S3_CUSTOM_DOMAIN = 'cdn.mydomain.com' </code></pre> <p>所以我需要更改访问控制列表 (ACL) 的权限。我将对象存储的桶级 ACL 和对象级 ACL 从 </p><code><style> .scroll-container { background-image: url("https://hmst-bucket.eu-central-1.linodeobjects.com/myapp/scroll-L.jpg"); } </style> </code><pre> 更改为 </pre><code>This XML file does not appear to have any style information associated with it. The document tree is shown below. <Error> <Code>AccessDenied</Code> <BucketName>hmst-bucket</BucketName> <RequestId>#</RequestId> <HostId>#</HostId> </Error> </code><p>。<pre> </pre>我使用 Linode,所以我遵循了这个指南:<pre>https://www.linode.com/docs/products/storage/object-storage/guides/acls/</pre>。要更改对象级别 ACL,指南说您需要单击更多选项省略号并选择</p>Details<p>,但是这已经过时了,您需要单击实际对象本身。<a href="https://www.linode.com/docs/products/storage/object-storage/guides/acls/" rel="nofollow noreferrer"> </a>更改这些权限解决了这个问题。<em> </em> </p><p>
我们在 firebase.json 文件中配置了 Content-Security-Policy。我们还有很多需要申请的域名。例如,它可以是跟踪服务或某些分析工具。 我
如何解决访问 cookie 或存储的请求被阻止,因为它来自跟踪器并且启用了内容阻止
我在我的网站 www.iusefaith.com 上使用内容安全政策和 google adsense。我的 adsense 没有显示,我在 firefox 检查器中收到的错误消息是 请求访问 cookie...
我正在运行 Lighthouse 报告以确保我的网站符合标准。 我正在尝试通过两种方法将 CSP 添加到我的网站: 将它添加到我的 index.html 中的标签 将它附加到响应头...
我的配置如下: PFsense 防火墙 在该防火墙后面有一个具有 3 个域的“Web”服务器,包括一个“dev.domain.tld”,可以使用
Ruby on rails 6.1.7:努力使用 Turbolinks 和 CSP 渲染部分
我正在使用带有 turbolinks 和基于 CSP nonce 的 Rails 6.1.7。 这是我的 CSP 配置: policy.default_src :self, :https policy.font_src :self, :https, :data policy.img_src :self, :h...
我正在尝试在静态页面上加载,所以我添加了以下内容安全策略: 我正在尝试在静态页面上加载<script src="https://js.stripe.com/v3/"></script>,所以我添加了以下内容Content-Security-Policy: <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' https://js.stripe.com https://maps.googleapis.com; connect-src 'self' https://api.stripe.com https://hooks.stripe.com https://maps.googleapis.com; frame-src 'self' https://js.stripe.com https://hooks.stripe.com; " /> 然后我启动我的静态服务器(提供良好的 CORS 标头),我在浏览器控制台中收到以下错误 ERROR: Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”). content.js:40:10 ERROR: Content Security Policy: The page’s settings observed the loading of a resource at inline (“script-src”). A CSP report is being sent. content.js:40:10 WARNING: Partitioned cookie or storage access was provided to “https://js.stripe.com/v3/m-outer-93afeeb17bc37e711759584dbfc50d47.html#url=http%3A%2F%2Flocalhost%3A3000%2Ffr%2Foffers%2Fclimb-up-regular-price-live%2Forder%2F&title=Achats%20group%C3%A9s%20-%20Climb%20Up%20live&referrer=http%3A%2F%2Flocalhost%3A3000%2Ffr%2Foffers%2Fclimb-up-regular-price-live%2Forder%2F&muid=76c455da-cdc3-49bb-8a74-21f2190214463691c5&sid=51750ec5-9420-4acd-aa45-01249980a50dbcc98a&version=6&preview=false” because it is loaded in the third-party context and dynamic state partitioning is enabled. ERROR: Content Security Policy: The page’s settings blocked the loading of a resource at inline (“script-src”). content.js:40:10 WARNING: Partitioned cookie or storage access was provided to “https://m.stripe.network/inner.html#url=http%3A%2F%2Flocalhost%3A3000%2Ffr%2Foffers%2Fclimb-up-regular-price-live%2Forder%2F&title=Achats%20group%C3%A9s%20-%20Climb%20Up%20live&referrer=http%3A%2F%2Flocalhost%3A3000%2Ffr%2Foffers%2Fclimb-up-regular-price-live%2Forder%2F&muid=76c455da-cdc3-49bb-8a74-21f2190214463691c5&sid=51750ec5-9420-4acd-aa45-01249980a50dbcc98a&version=6&preview=false” because it is loaded in the third-party context and dynamic state partitioning is enabled. 当然页面保持空白,集成不起作用。 这是我的服务器对该页面的响应标头 HTTP/1.1 200 OK content-type: text/html; charset=utf-8 content-length: 2333 access-control-allow-origin: http://localhost:3000, https://js.stripe.com access-control-allow-methods: GET, POST date: Tue, 07 Mar 2023 07:52:38 GMT 知道为什么 Stripe.js 拒绝加载吗? 非常感谢;) 编辑 07/03/2023 我试过用 https 运行所有这些,也不起作用。 这种情况的两个主要嫌疑人是 另一个 CSP。如果内容被框架添加的默认 CSP 阻止,则添加另一个 CSP 无济于事。但是你的标题没有显示任何内容。 像 onclick="..." 这样的事件属性。 'unsafe-inline' 不允许这些。在 CSP 级别 3 中可以使用附加控件允许它们,但最好重写它们以使用事件侦听器。 content.js文件中出现这个有点令人费解,但可能是js文件插入了一个包含事件属性的元素。 如果这没有帮助,请尝试检查什么会触发 content.js 第 40 行的 CSP 错误。 我对 CSP 不是很熟悉,但这里有一些你可以尝试的东西: 从你的self标签中删除所有meta,所以像这样: <meta http-equiv="Content-Security-Policy" content="default-src; script-src https://js.stripe.com https://maps.googleapis.com; connect-src https://api.stripe.com https://hooks.stripe.com https://maps.googleapis.com; frame-src https://js.stripe.com https://hooks.stripe.com;" /> 确保阅读this Stripe doc,如果您使用的是可信类型,它会提到一些警告。 仔细检查页面上没有其他策略覆盖您设置的允许列表。
通过 angular.json 导入的样式被 Content-Security-Policy script-src 阻止:self
我通过 angular.json 样式数组导入了几个 css 和 scss 文件,这最终添加了 我已经通过 angular.json 样式数组导入了几个 css 和 scss 文件,这最终添加了 <link rel="stylesheet" href="styles.44408b7ba7c0e916.css" media="all" onload="this.media='all'"> 在<body>之下。我有 content-security-policy: object-src 'none'; script-src 'self',它阻止了上面的 <link> 加载,因此应用程序无法运行。错误如下, 拒绝执行内联事件处理程序,因为它违反了以下内容安全策略指令:“script-src 'self'”。启用内联执行需要“不安全内联”关键字、散列(“sha256-...”)或随机数(“nonce-...”)。请注意,哈希不适用于事件处理程序、样式属性和 javascript: 导航,除非存在“不安全哈希”关键字。 angular.json 链接标签 控制台错误 我看到向 CSP 添加“不安全内联”将解决问题,但我不能使用此解决方案,因为这是不安全的。 请给我建议任何其他不会对安全构成威胁的解决方案。 另外请说明为什么 css 被 script-src 策略阻止。 错误表明它拒绝执行内联事件处理程序,该处理程序在您的标记末尾为 onload="this.media='all'" 。您应该将其重写为白名单脚本中的事件侦听器。 这个帮助解决了我的问题, 找到如何禁用 inlineCritical 样式 https://angular.io/guide/workspace-config#styles-optimization-options 在构建配置中的 angular.json 而不是 "optimization": true 替换为 "optimization": { "scripts": true, "styles": { "minify": true, "inlineCritical": false }, "fonts": true },
我在 000webhost 网站上创建了一个视频嵌入页面,然后它将嵌入到我在 Blogger 上运行的其他网站中。我不希望任何人直接访问 000webhost 视频页面或嵌入...