OnsenUI使用unsafe-eval和unsafe-inline,即使使用ng-csp指令

时间:2015-09-24 23:08:20

标签: angularjs cordova onsen-ui content-security-policy

编辑: 我已将问题提交给他们的GitHub:https://github.com/OnsenUI/OnsenUI/issues/936

编辑2:正在照顾;)

(抱歉我的英文,这不是我的母语;)

这是我关于stackoverflow的第一个问题。现在,我总是发现其他人遇到了和我一样的问题,并得到了答案。

但是这一次,我似乎无法找到解决方案,所以要么我是第一个,要么我错过了什么。

我正在为Windows Phone和Android(现在)开发一个应用程序,使用cordova,onsenui(如此有角度)和jQuery(我认为这不会导致最后一个在这里造成麻烦)。

我决定以正确的方式开始使用CSP,以获得更安全的应用程序。

我已经在index.html页面中添加了<meta http-equiv="Content-Security-Policy" content="default-src 'self' http://foo.com>。 我发现angular有很多不安全的东西,我学会了ngCsp指令。

所以现在我有:

<html ng-app="app" ng-csp>
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' http://foo.com>

    <script src="lib/onsen-1.3.10/js/angular/angular.js"></script>
    <script src="lib/onsen-1.3.10/js/onsenui.js"></script>
    ...
</html>

我不再理解CSP关于angular.js的错误,但我不断得到一些forsenui.js(不安全内联和不安全 - 逃避)。 知道,我发现的唯一解决方案是:

  • 允许CSP中的不安全内联
  • 安排onsenui.js中唯一导致不安全评估的行:

在onsenui.js,我已经更换了第4888行:

}(new Function("return this")()));

by:

}(function() {return this;}()));

所以我的问题是:我是唯一有这个问题的人吗?这里有人使用cordova,onsenui和CSP没有任何问题吗? 我宁愿不在CSP meta中加上'unsafe-eval',我想删除'unsafe-inline'。

很抱歉这篇长篇文章,谢谢你的帮助! ;)

0 个答案:

没有答案