HTTP 的内容安全策略(CSP)

访客5年前黑客资讯501

 本文介绍的是W3C的Content Security Policy,简称CSP。望文生义,这个规范与内容安全有关,首要是用来界说页面能够加载哪些资源,削减XSS的发作。

Chrome扩展现已引进了CSP,经过manifest.json中的content_security_policy字段来界说。一些现代浏览器也支撑经过呼应头来界说CSP。下面咱们首要介绍怎么经过呼应头来运用CSP,Chrome扩展中CSP的运用能够参阅Chrome官方文档。

浏览器兼容性

前期的Chrome是经过X-WebKit-CSP呼应头来支撑CSP的,而firefox和IE则支撑X-Content-Security-Policy,Chrome25和Firefox23开端支撑规范的的Content-Security-Policy,见下表。

呼应头 Chrome Firefox Safari IE Content-Security-Policy 25+ 23+ - - X-Content-Security-Policy - 4.0+ - 10.0(有限的) X-Webkit-CSP 14+ - 6+ -

完好的浏览器CSP支撑状况请移步CanIUse。

怎么运用

要运用CSP,只需要服务端输出相似这样的呼应头就行了:

Content-Security-Policy: default-src 'self'

default-src是CSP指令,多个指令之间用英文分号切割;'self'是指令值,多个指令值用英文空格切割。现在,有这些CSP指令:

指令 指令值示例 阐明 default-src 'self' cnd. *** 界说针对一切类型(js、image、css、web font,ajax恳求,iframe,多媒体等)资源的默许加载战略,某类型资源假如没有独自界说战略,就运用默许的。 script-src 'self' js. *** 界说针对JavaScript的加载战略。 style-src 'self' css. *** 界说针对款式的加载战略。 img-src 'self' img. *** 界说针对图片的加载战略。 connect-src 'self' 针对Ajax、WebSocket等恳求的加载战略。不答应的状况下,浏览器会模仿一个状况为400的呼应。 font-src font. *** 针对Web Font的加载战略。 object-src 'self' 针对<object>、<embed>或<applet>等标签引进的flash等插件的加载战略。 media-src media. *** 针对<audio>或<video>等标签引进的html多媒体的加载战略。 frame-src 'self' 针对frame的加载战略。 sandbox allow-forms 对恳求的资源启用sandbox(相似于iframe的sandbox特点)。 report-uri /report-uri 告知浏览器假如恳求的资源不被战略答应时,往哪个地址提交日志信息。 特别的:假如想让浏览器只报告日志,不阻挠任何内容,能够改用Content-Security-Policy-Report-Only头。

指令值能够由下面这些内容组成:

指令值 指令示例 阐明   img-src 答应任何内容。 'none' img-src 'none' 不答应任何内容。 'self' img-src 'self' 答应来自相同来历的内容(相同的协议、域名和端口)。 data img-src data 答应data:协议(如base64编码的图片)。 www. *** img-src img. *** 答应加载指定域名的资源。 *. *** img-src *. *** 答应加载 *** 任何子域的资源。 https://img.com img-src https://img.com 答应加载img.com的https资源(协议需匹配)。 https: img-src https: 答应加载https资源。 'unsafe-inline' script-src 'unsafe-inline' 答应加载inline资源(例如常见的style特点,onclick,inline js和inline css等等)。 'unsafe-eval' script-src 'unsafe-eval' 答应加载动态js代码,例如eval()。

[1] [2]  黑客接单网

相关文章

浅谈跨域威胁与安全-黑客接单平台

WEB前端中最常见的两种安全危险,XSS与CSRF,XSS,即跨站脚本进犯、CSRF即跨站恳求假造,两者归于跨域安全进犯,关于常见的XSS以及CSRF在此不多议论,仅议论一些不太常见的跨域技能以及安全...

运用Burp的intruder功用测验有csrf维护的应用程序

许多Web运用会有避免跨站恳求假造的战略,比方经过request恳求传一个当时页面有用或许当时会话有用的参数(假如他们没有,那就很值得研讨)。这些参数用来证明这个恳求是从预订用户宣布的,而不是进犯者那...

2FA双要素认证之Authy

现如今网络环境越来越杂乱,黑客的进犯手法多样化,发作了越来越多的账号暗码走漏事情,然后要挟到用户信息乃至产业安全。在如此杂乱的安全形势下,咱们需求考虑更多的是用户信息的安全问题,而用户的账户暗码作为信...

短网址安全浅谈

何谓短网址(Short URL)?望文生义,便是形式上比较短的网址,当时首要是凭借短网址来替代原先冗长的网址,便利传输和共享。短网址服务也便是将长网址转化为短网址的服务,这种服务在便利了广阔网民的一起...

MySQL联合注入之绕过安全狗到GetShell

发现网上公开过安全狗的办法少之又少,并且根本都是给个大约点就完毕,本文章是将整个进程记录了一遍,因为一开始我也没想到我能成功的绕过去,大约进程是这样:Mysql根底有必要要有–>定位—>f...

怎样使用追寻代码来发现网站之间的“相关”

前些年Lawrence Alexander颁发了一篇使用Google Analytics查找网页之间的联络联络的文章,客岁,我也宣告了一个关于若何使用Python自动开掘信息,然后将其可视化的帖子,不...