Html5中内容安全策略(CSP)


本文摘自PHP中文网,作者一个新手,侵删。

前言:

1

2

Cordova不支持内联事件,所以点击事件必须提取到js里面.

以下是从官网摘抄下来,希望对您有所帮助

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

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

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

1

2

3

4

5

{

   

   “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”));

1

2

3

window.setTimeout(“alert(’hi’)”,10);

 window.setInterval(“alert(’hi’)”,10);

 new Function(“return foo.bar.baz”);

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

1

2

3

4

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不会被执行

阅读剩余部分

相关阅读 >>

移动端HTML5中判断横屏竖屏的方法

分享h5中alt和title的区别与用法

HTML5 canvas画布详解(一)

详解HTML5 geolocation获取地理位置信息的示例代码分享

利用HTML5的一个特性- deviceorientation来实现手机上摇一摇功能

html中的video无法播放怎么办

HTML5 canvas常用属性方法(介绍)

HTML5和html能看出区别吗

HTML5+canvas调用手机拍照功能实现图片上传功能(图文详解下篇)

移动端页面头部固定定位的绝对定位实现(代码示例)

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...