内容安全策略'default-src * data:;'是通过文档外部的<meta />元素传递的

时间:2016-09-23 09:40:17

标签: cordova meta-tags onsen-ui content-security-policy monaca

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
    <script src="components/loader.js"></script>
    <script src="lib/angular/angular.min.js"></script>
    <script src="lib/onsenui/js/onsenui.min.js"></script>
    <script src="lib/onsenui/js/angular-onsenui.min.js"></script>

    <link rel="stylesheet" href="components/loader.css">
    <link rel="stylesheet" href="lib/onsenui/css/onsenui.css">
    <link rel="stylesheet" href="lib/onsenui/css/onsen-css-components.css">
    <link rel="stylesheet" href="css/style.css">
</head>

此'meta'标记在index.html中有效,但在其他.html页面中不起作用。 我试图从这个

更改config.html
<allow-navigation href="*"/>

到此。

<allow-navigation href="http://*/*"/>

我尝试更改元标记,但我仍然遇到此错误。

enter image description here

任何人都可以帮助我吗?提前谢谢。

2 个答案:

答案 0 :(得分:3)

关于你的错误。我得到了同样的错误,但这是因为我作为测试的一部分,在<head>上面的var_dump-ing屏幕上。我想如果你在某处的元标记上方打印/回显/写入屏幕,会出现类似的问题或错误。

答案 1 :(得分:0)

我看到此错误是因为我正在包含一个包含meta标记的文件,并且该文件上的utf8前缀引起了该问题。像这样使用IIS web.config使其工作并且易于管理更改,然后包含一个

<?xml version="1.0"?>
<configuration>
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <!-- In Order for the Mobile App to Access Sota we need to remove the X-Fram-Options and fall back to the newer Content-Security-Policy we include /include/Content-Security-Policy-->
        <remove name="X-Frame-Options"/>        
        <add name="Content-Security-Policy" value="default-src 'self'; style-src 'self' 'unsafe-inline';  media-src *; script-src 'self' 'unsafe-eval' 'unsafe-inline'; img-src 'self'"/>
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>