为CDN

时间:2017-03-28 20:54:24

标签: javascript html css twitter-bootstrap mithril.js

我目前正在我的大学进行移动网络应用程序开发课程的介绍,并且正在努力在我的秘银应用程序上设置引导程序。

我以前在“普通” Web应用程序上设置了bootstrap,但我很难理解如何在我的Mithril.js应用程序中正确设置内容安全策略。

应该注意的是,这不是我目前任务的必要部分,但我更倾向于亲自理解CSP的概念,因为它是一个非常重要的理解( OWASP top 10 ,哟!)。

所以我不是要求任何人帮我完成作业,而是要帮助我理解我在CSP课外应用中遇到的问题。

这就是我的CSP现在的样子:

<meta http-equiv="Content-Security-Policy" 
content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval';
         style-src 'self' 'unsafe-inline' http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css;
         media-src *; img-src 'self' data: content:;
         script-src https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
         http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js;">

CDN网址工作正常,目前已在我设置的多个其他网站上实施,但我在Chrome上检查控制台时遇到了这些错误:

  

拒绝加载脚本“http://localhost:8013/cordova.js”因为   它违反了以下内容安全策略指令:   “脚本-SRC   https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js                                                               http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js”。

     

index.html:1拒绝加载脚本   'http://localhost:8013/bin/app.js',因为它违反了以下内容   内容安全策略指令:“script-src   https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js                                                               http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js”。

     

jquery.min.js:2拒绝加载字体   'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff2'   因为它违反了以下内容安全策略指令:   “default-src'self'数据:gap:https://ssl.gstatic.com'unsafe-eval'”。   请注意,'font-src'未显式设置,因此使用'default-src'   作为后备。

     

(匿名)@jquery.min.js:2 jquery.min.js:2拒绝加载字体   'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff'   因为它违反了以下内容安全策略指令:   “default-src'self'数据:gap:https://ssl.gstatic.com'unsafe-eval'”。   请注意,'font-src'未显式设置,因此使用'default-src'   作为后备。

     

(匿名)@jquery.min.js:2 jquery.min.js:2拒绝加载字体   'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.ttf'   因为它违反了以下内容安全策略指令:   “default-src'self'数据:gap:https://ssl.gstatic.com'unsafe-eval'”。   请注意,'font-src'未显式设置,因此使用'default-src'   作为后备。

     

(匿名)@ jquery.min.js:2 http://localhost:8013/favicon.ico失败   加载资源:服务器响应状态为404(不是   实测值)

1 个答案:

答案 0 :(得分:2)

在我们的聊天中回答这个问题,但对于其他人来说这是简短的回答。将您的网址放在'unsafe-inline'前面的css文件中,因此它是

style-src 'self' bootstrap.css 'unsafe-inline';

在jquery和bootstrap.js之前,你需要在script-src中使用'self'。