拒绝加载样式表,因为它违反了内容安全策略
Posted
技术标签:
【中文标题】拒绝加载样式表,因为它违反了内容安全策略【英文标题】:Refused to load stylesheets because it violates Content Security Policies 【发布时间】:2020-03-08 12:25:12 【问题描述】:我正在尝试将 jquery 和 css 文件添加到我的 .cshtml 文件中,但出现内容安全策略错误。
我已经尝试添加<meta http-equiv="Content-Security-Policy" content="default-src 'self' *.aspnetcdn.com/">
之类的东西,但它不起作用。
Here are the errors that I am getting
这是 .cshtml 文件:
@using Genesis.SharedLibrary.ViewModels.Genesis.ALG
@inject Genesis.Application.Services.Commons.IGenericServices _genericServices;
@
var staticFileVersion = _genericServices.GetAppSettingValue("OtherSettings", "StaticFileVersion");
@model List<TravelRequestAdminViewModel>
<body>
@* DATA TABLE WITH SEVEN COLUMNS AND MANY ROWS *@
</body>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css" />
<link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/css/jquery.dataTables.css" />
<script type="text/javascript" src="~/lib/jquery/dist/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="~/shared/js/Views/travelRequestAdminScript.js?v=@staticFileVersion"></script>
【问题讨论】:
查看link 【参考方案1】:您需要放宽远程脚本的默认策略
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://code.jquery.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; script-src 'self' https://example.com/ 'unsafe-inline' 'unsafe-eval'; media-src *">
参考:
https://developer.chrome.com/extensions/contentSecurityPolicy#relaxing
【讨论】:
您阅读参考资料了吗?您尝试从中获取文件的不同域的所有内容都在其中以上是关于拒绝加载样式表,因为它违反了内容安全策略的主要内容,如果未能解决你的问题,请参考以下文章
Chrome 中的 Css 内联样式错误:“拒绝应用内联样式,因为它违反了以下内容安全策略指令……”
Cordova Angular webView 错误拒绝应用内联样式,因为它违反了以下内容安全策略指令
Chrome 扩展“拒绝加载脚本,因为它违反了以下内容安全策略指令”
无法在重新加载页面上获取 /login Angular 8 - 拒绝加载图像“/favicon.ico”,因为它违反了以下内容安全策略
拒绝加载字体 '<URL>' 因为它违反了以下内容安全策略指令 default-src ,所以使用 default-src 作为后备