本文摘自PHP中文网,作者一个新手,侵删。
前言:
1 2 |
|
为了缓解大量潜在的跨站点脚本问题,Chrome的扩展系统已经纳入了内容安全策略(CSP)的一般概念。 这引入了一些相当严格的策略,默认情况下将使扩展更加安全,并为您提供了创建和实施管理可由扩展和应用程序加载和执行的内容类型的规则的功能。
一般来说,CSP作为黑客/白名单机制,用于扩展程序加载或执行的资源。 为您的扩展定义合理的策略,您可以仔细考虑扩展所需的资源,并要求浏览器确保这些资源是您的扩展程序可以访问的唯一资源。 这些策略提供超出您的扩展请求的主机权限的安全性; 它们是一个额外的保护层,而不是替代。
在网络上,这样的策略是通过HTTP头或元素来定义的。 在Chrome的扩展系统中,两者都不是一个合适的机制。 相反,扩展的策略是通过扩展名的manifest.json文件定义的,如下所示:
1 2 3 4 5 |
|
有关CSP语法的完整详细信息,请参阅内容安全策略规范以及有关HTML5Rocks的“内容安全策略简介”一文。
默认策略限制
没有定义manifest_version软件包没有默认的内容安全策略。 那些选择manifest_version 2,具有默认内容安全策略:
script-src’self’; object-src’self’
此策略通过三种方式限制扩展和应用程序来增加安全性:
(1)评估和相关功能被禁用
以下代码不起作用:
警报(的eval( “foo.bar.baz”));
1 2 3 |
|
评估这样的JavaScript字符串是一个常见的XSS攻击向量。 相反,你应该编写如下代码:
1 2 3 4 |
|
(2)内联JavaScript不会被执行
相关阅读 >>
android使webview支持HTML5 video全屏播放的方法分享(图)
HTML5 webworkers防止浏览器假死的示例代码分享
更多相关阅读请进入《HTML5》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者