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

新手上路,请多包涵

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

我面临这个问题:

<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>

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

---1---

原文由 Shakti Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

您说过您只能从您自己的站点(自己)加载脚本。然后,您尝试从另一个站点 ( 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 非常宽松(允许 unsafe-inlineunsafe-eval*default-src ),所以说实话,它可能不会增加太多价值。

原文由 Barry Pollard 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

内容安全策略:该页面的设置阻止了内联资源的加载(“default-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 上的第一个结果。

原文由 Daniel Congrove 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题