javascript - 拒绝加载字体 '' 因为它违反了以下内容安全策略指令 default-src ,所以使用 default-src 作为后备
问题描述
我正在使用角度 6 中的平均堆栈创建一个 Web 应用程序,但我在浏览器控制台上收到以下错误消息。
“拒绝加载字体 '<URL>',因为它违反了以下内容安全策略指令:“default-src 'self'”。请注意,没有明确设置 'font-src',因此使用了 'default-src'作为后备。”
代码:
getUsers() {
return this._http.get("/api/users")
.pipe(map(result => this.result = result.json().data));
}
解决方案
内容安全策略是现代浏览器在加载远程资源时定义一组限制的一种方式。
HTTP 协议的响应标头可以设置这些策略:
Content-Security-Policy
标头(官方)、X-Content-Security-Policy
(受 Mozilla Firefox 和 IE10X-WebKit-CSP
支持)和(受 Google Chrome 和 Safari 支持)带有内容安全策略指令列表的 HTTP 响应标头。(来自seckit drupal 模块)
<img>
您可以为 DOM 中不同类型的元素(例如、<script>
、<object>
、等等)设置不同的策略<embed>
,以限制源自该元素的请求。<iframe>
因此,您需要更改'self'
为以下之一:
'none'
- 阻止任何来源的内容'self'
- 仅允许来自您的域的内容'unsafe-inline'
- 允许特定的内联内容(注意,它由指令子集支持)'unsafe-eval'
- 允许一组默认限制的字符串到代码 API(由 script-src 指令支持)
允许使用通配符 (*):
*
- 从任何来源加载内容*.example.com
- 从 example.com 及其所有子域加载内容example.com:*
- 通过任何端口从 example.com 加载内容。-- 否则,它将使用您的网站默认端口
推荐阅读
- python - 在 Jupyter Notebook 中运行“.pyc”文件
- javascript - React Router Native(4.3.0) Url Params 中断应用程序
- ruby-on-rails - 这是什么铁路路线?得到 '/(@:version)' => 'interfaces#home'
- java - 有没有办法从另一个应用程序跟踪 android 应用程序的使用情况?
- sql - 列出所有表和字段 Google BigQuery
- barcode-scanner - 实时条码扫描仪 Firebase
- python-3.x - 如何在python中返回带有中间时间的时间列表?
- javascript - 在电子应用程序中使用节点请求时获取“self._form.on 不是函数”
- javascript - 赛普拉斯:我如何断言 window.fetch POST 请求正文的内容?
- php - GET / POST的问题没有用php接收数据