因为它违反了以下内容安全策略指令:“style-src'self'”

时间:2016-01-26 13:32:17

标签: javascript jquery html css

我有一个带有此标题的网页。

这是一个非交互式页面,只有twitter bootstrap js。

<head>
    <title>Versions: unknown bl version vs. 1.0.487 [flavor: HISTORIC_TIME]</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
    <script type="script" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <meta content="text/html; charset=utf-8" http-equiv="content-type">
    <link rel="icon" href="/jenkins/view/QA/job/RoutingRegression/ws/src/main/resources/html_pages/images/favicon.png" type="image/gif" sizes="16x16">
</head>

enter image description here

我在stackoverflow上看到了一些帖子,但无法理解如何解决这个问题。

  

拒绝加载样式表   'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css'   因为它违反了以下内容安全策略指令:   “style-src'self'”。

     

landing_page.html:1拒绝加载样式表   'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css'   因为它违反了以下内容安全策略指令:   “style-src'self'”。

我尝试将<meta>更改为

<meta content="text/html; charset=utf-8 ;script-src 'self' http://onlineerp.solution.quebec 'unsafe-inline' 'unsafe-eval';" http-equiv="content-type">

enter image description here

但它没有帮助

任何想法?

3 个答案:

答案 0 :(得分:9)

尝试将CS​​P拆分为单独的标记并添加style-src引用,如下所示:

<meta http-equiv="content-type" content="text/html; charset=utf-8 ;">
<meta http-equiv="Content-Security-Policy" content="script-src 'self' http://onlineerp.solution.quebec 'unsafe-inline' 'unsafe-eval'; style-src 'self' maxcdn.bootstrapcdn.com"> 

这应该说你信任来自maxcdn.bootstrapcdn.com的风格。

内容安全政策的重要解释是http://content-security-policy.com/

答案 1 :(得分:0)

您不能将CDN用于js,您必须复制&#34; https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css&#34;的内容。并在js目录中创建一个新文件并将其命名为bootstrap.min.js并将其中的所有内容粘贴到其中,然后在HTML文件头中删除包含此URL的行并使用此文件

<script src="js/jquery.min.js"></script>

确保这是包含所提及网址

中所有数据的文件的写入路径

此致

答案 2 :(得分:0)

将Content-Security-Policy元标记添加到标头中,如下所示:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' *.bootstrapcdn.com">

它将允许您从域bootstrapcdn.com加载诸如JavaScript,图像,CSS,字体,AJAX请求,框架和HTML5媒体之类的内容。

如果仍然有相同的错误报告,则问题可能出在所使用的框架中。我在播放框架2.6.17中遇到了类似的问题,默认情况下启用了自己的Content-Security-Policy标头,并通过以下方式修复了该问题:

play.filters.headers.contentSecurityPolicy="default-src 'self' *.bootstrapcdn.com"