拒绝加载,因为它违反了内容安全策略
Refused to load because it violates Content Security Policy
我在 Chrome 和 Firefox 中遇到了一个非常奇怪的内容安全策略问题。
我的元标记如下所示:
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* https://* 'unsafe-inline'; script-src 'self' http://* https://* 'unsafe-inline' 'unsafe-eval'" />
这些行造成了问题:
Link 标签:
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,900' rel='stylesheet' type='text/css'>
正文中的脚本标记:
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-76462125-1', 'auto');
ga('send', 'pageview');
var dimensionValue = 'SOME_APP_NAME';
ga('set', 'dimension1', dimensionValue);
</script>
我页面下方的视频标签:
<video controls="controls">
<source src="https://www.youtube.com/embed/OhFel6HTHu8" type="video/mp4" />
</video>
请告诉我我遗漏了什么。
如果您检查 HTTP 响应,IdentityServer 会发出 CSP headers。您可以通过在 CspOptions
上设置各种标志来配置它们。它包含在文档中:https://identityserver.github.io/Documentation/docsv2/advanced/csp.html
我在 Chrome 和 Firefox 中遇到了一个非常奇怪的内容安全策略问题。
我的元标记如下所示:
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* https://* 'unsafe-inline'; script-src 'self' http://* https://* 'unsafe-inline' 'unsafe-eval'" />
这些行造成了问题:
Link 标签:
<link href='https://fonts.googleapis.com/css?family=Lato:400,700,900' rel='stylesheet' type='text/css'>
正文中的脚本标记:
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-76462125-1', 'auto');
ga('send', 'pageview');
var dimensionValue = 'SOME_APP_NAME';
ga('set', 'dimension1', dimensionValue);
</script>
我页面下方的视频标签:
<video controls="controls">
<source src="https://www.youtube.com/embed/OhFel6HTHu8" type="video/mp4" />
</video>
请告诉我我遗漏了什么。
如果您检查 HTTP 响应,IdentityServer 会发出 CSP headers。您可以通过在 CspOptions
上设置各种标志来配置它们。它包含在文档中:https://identityserver.github.io/Documentation/docsv2/advanced/csp.html