当前位置: 首页 > 知识库问答 >
问题:

内容安全策略:页面设置阻止加载资源

姬魁
2023-03-14

我在页面加载时使用了CAPTCHA,但由于某些安全原因,它被阻塞了。

我面对这个问题:

    Content Security Policy: The page's settings blocked the loading
    of a resource at
    http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit
    ("script-src http://test.com:8080 'unsafe-inline' 'unsafe-eval'").

我使用了以下JavaScript和meta标记:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval'">
<script src="http://www.google.com/recaptcha/api.js?onload=myCallBack&render=explicit" async defer></script>

共有3个答案

弓明亮
2023-03-14

我有一个类似的错误类型。首先,我试图在代码中添加元标签,但没有成功。

我发现,在nginx Web服务器上,您可能有一个安全设置,可能会阻止外部代码运行:

# Security directives
server_tokens off;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'  https://ajax.googleapis.com  https://ssl.google-analytics.com https://assets.zendesk.com https://connect.facebook.net; img-src 'self' https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com; style-src 'self' 'unsafe-inline' https://assets.zendesk.com; font-src 'self' https://fonts.gstatic.com  https://themes.googleusercontent.com; frame-src https://player.vimeo.com https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com; object-src 'none'";

检查内容安全策略。您可能需要添加源引用。

秦锐
2023-03-14

当我的ASP.NET Core Angular项目在Visual Studio 2019中运行时,有时我会在Firefox控制台中收到以下错误消息:

内容安全策略:页面的设置阻止了内联资源的加载(“默认-src”)。

在Chrome中,错误消息为:

加载资源失败:服务器响应状态为404()

在我的例子中,它与我的内容安全策略无关,而只是我的一个TypeScript错误的结果。

检查IDE输出窗口是否存在TypeScript错误,如:

> ERROR in src/app/shared/models/person.model.ts(8,20): error TS2304: Cannot find name 'bool'.
>
> i 「wdm」: Failed to compile.

注意:由于此问题是Google上此错误消息的第一个结果。

商飞翮
2023-03-14

您说过您只能从自己的站点(自)加载脚本。然后,您尝试从另一个站点(www.google.com)加载脚本,由于您对此进行了限制,因此无法加载。这就是内容安全策略(CSP)的全部要点。

您可以将第一行更改为:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://www.google.com">

或者,在您了解更多关于CSP的信息之前,完全删除该行可能是值得的。您当前的CSP是相当宽松的(允许unsec-inlineunsec-ava*default-src),所以老实说,它可能没有增加太多的价值。

 类似资料:
  • 内容安全策略 CSP(Content Security Policy)即内容安全策略,主要目标是减少、并有效报告 XSS 攻击,其实质就是让开发者定制一份白名单,告诉浏览器允许加载、执行的外部资源。即使攻击者能够发现可从中注入脚本的漏洞,由于脚本不在白名单之列,浏览器也不会执行该脚本,从而降低客户端遭受 XSS 攻击风险。 默认配置下,CSP 甚至不允许执行内联代码 (<script> 块内容,内

  • CSP(内容安全策略) CSP(Content Security Policy) 即内容安全策略,主要目标是减少、并有效报告 XSS 攻击,其实质就是让开发者定制一份白名单,告诉浏览器允许加载、执行的外部资源。即使攻击者能够发现可从中注入脚本的漏洞,由于脚本不在白名单之列,浏览器也不会执行该脚本,从而达到了降低客户端遭受 XSS 攻击风险和影响的目的。 默认配置下,CSP 甚至不允许执行内联代码

  • Imagemagick安全策略似乎不允许我执行从pdf到png的转换。转换其他扩展似乎是可行的,只是不能从pdf转换。自从安装imagemagick后,我没有更改任何imagemagick设置。。。如果操作系统重要的话,我使用的是ArchLinux。

  • 在我的页面上,我给出了层次结构: 内部框架带有给定的标题 看起来一切都是正确的,但我在chrome中遇到了这样的错误(ff中也有错误): 拒绝展示https://app.domain.training/path'在帧中,因为祖先违反以下内容安全策略指令:“帧祖先app.domain.training proxy.domain.training domain.training*.domain.tra

  • 我想使用javascript访问一个网站。但我在控制台中遇到以下错误。 拒绝连接到'https://example.com'因为它违反了以下内容安全策略指令:“default src'self'”。请注意,未显式设置“connect src”,因此使用“default src”作为回退。 我在index.html中添加了以下meta标记, 元超文本传输协议-Equiv="内容-安全-策略"内容="

  • 在讲解Chrome扩展的安全策略时,提到过其不允许inline-script,默认也不允许引用外部的JavaScript文件,而Chrome应用使用了更加严格的限制。 Chrome扩展和应用都使用了CSP(Content Security Policy)声明可以引用哪些资源,虽然之前我们并没有涉及到CSP的内容,但是Chrome扩展和应用会在我们创建时提供一个默认的值,对于Chrome扩展来说是s