Html5中内容安全策略CSP的示例分析-成都快上网建站

Html5中内容安全策略CSP的示例分析

这篇文章主要为大家展示了“Html5中内容安全策略CSP的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Html5中内容安全策略CSP的示例分析”这篇文章吧。

为官渡等地区用户提供了全套网页设计制作服务,及官渡网站建设行业解决方案。主营业务为网站设计制作、成都网站制作、官渡网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

前言:

Cordova不支持内联事件,所以点击事件必须提取到js里面.
以下是从官网摘抄下来,希望对您有所帮助

为了缓解大量潜在的跨站点脚本问题,Chrome的扩展系统已经纳入了内容安全策略(CSP)的一般概念。 这引入了一些相当严格的策略,默认情况下将使扩展更加安全,并为您提供了创建和实施管理可由扩展和应用程序加载和执行的内容类型的规则的功能。

一般来说,CSP作为黑客/白名单机制,用于扩展程序加载或执行的资源。 为您的扩展定义合理的策略,您可以仔细考虑扩展所需的资源,并要求浏览器确保这些资源是您的扩展程序可以访问的唯一资源。 这些策略提供超出您的扩展请求的主机权限的安全性; 它们是一个额外的保护层,而不是替代。

在网络上,这样的策略是通过HTTP头或元素来定义的。 在Chrome的扩展系统中,两者都不是一个合适的机制。 相反,扩展的策略是通过扩展名的manifest.json文件定义的,如下所示:

{ 
   … 
   “content_security_policy”:“[POLICY STRING GOES HERE]” 
   …
}

有关CSP语法的完整详细信息,请参阅内容安全策略规范以及有关HTML5Rocks的“内容安全策略简介”一文。

默认策略限制

没有定义manifest_version软件包没有默认的内容安全策略。 那些选择manifest_version 2,具有默认内容安全策略:

script-src’self’;  object-src’self’

此策略通过三种方式限制扩展和应用程序来增加安全性:

(1)评估和相关功能被禁用

以下代码不起作用:

警报(的eval( “foo.bar.baz”));

window.setTimeout(“alert(’hi’)”,10); 
 window.setInterval(“alert(’hi’)”,10); 
 new Function(“return foo.bar.baz”);

评估这样的JavaScript字符串是一个常见的XSS攻击向量。 相反,你应该编写如下代码:

alert(foo && foo.bar && foo.bar.baz); 
window.setTimeout(function(){alert(’hi’);},10); 
window.setInterval(function(){alert(’hi’);},10); 
function(){return foo && foo.bar && foo.bar.baz};

(2)内联JavaScript不会被执行

内联JavaScript不会被执行。 此限制禁止内嵌块和内联事件处理程序(例如 )。

第一个限制通过使您不小心执行恶意第三方提供的脚本来消除大量的跨站点脚本攻击。 但是,它需要您将代码写入内容与行为之间的干净分离(您当然应该做到这一点)对吗? 一个例子可能使这更清楚。 您可能会尝试编写一个浏览器操作的弹出窗口作为单个popup.html包含:

<!doctype html> 
      My Awesome Popup! 
       function awesome(){ 
         //做某事真棒! 
       }
   function totalAwesome(){
     //做某事真棒!
   }
  函数clickHandler(element){
     setTimeout( “awesome();getherAwesome()” ,1000);
   }
   function main(){
     //初始化工作在这里。
   }
 

点击awesomeness!

放宽默认策略

(1)内联脚本

直到Chrome 45,没有放宽对执行内联JavaScript的限制的机制。 特别是,设置包含’unsafe-inline’的脚本策略将不起作用。

从Chrome 46起,可以通过在策略中指定源代码的base64编码哈希来将内联脚本列入白名单。 该散列必须以使用的散列算法(sha256,sha384或sha512)为前缀。

以上是“Html5中内容安全策略CSP的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


本文名称:Html5中内容安全策略CSP的示例分析
URL网址:http://kswjz.com/article/ijdscj.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流