Web 安全之内容安全策略 (CSP)

内容安全策略 (CSP, Content Security Policy) 是一个附加的安全层,用于帮助检测和缓解某些类型的攻击,包括跨站脚本攻击 (XSS) 和数据注入等攻击。

这些攻击可用于实现从数据窃取到网站破坏或作为恶意软件分发版本等用途。内容安全策略在现代浏览器中已经包含,使用的是 W3C CSP 1.0 标准中描述的 Content-Security-Policy 头部和指令。

那么如何应用?

CSP 可以由两种方式指定:HTTP Header 和 HTML。HTTP 是在 HTTP 由增加 Header 来指定,而 HTML 级别则由 Meta 标签指定。

CSP 有两类:Content-Security-Policy 和 Content-Security-Policy-Report-Only。(大小写无关)

HTTP header :
"Content-Security-Policy:" 策略
"Content-Security-Policy-Report-Only:" 策略

HTTP Content-Security-Policy 头可以指定一个或多个资源是安全的,而Content-Security-Policy-Report-Only则是允许服务器检查(非强制)一个策略。多个头的策略定义由优先采用最先定义的。

HTML Meta :
<meta http-equiv="content-security-policy" content="策略">
<meta http-equiv="content-security-policy-report-only" content="策略">

Meta 标签与 HTTP 头只是行式不同而作用是一致的。与 HTTP 头一样,优先采用最先定义的策略。如果 HTTP 头与 Meta 定义同时存在,则优先采用 HTTP 中的定义。

如果用户浏览器已经为当前文档执行了一个 CSP 的策略,则会跳过 Meta 的定义。如果 META 标签缺少 content 属性也同样会跳过。

针对开发者草案中特别的提示一点:为了使用策略生效,应该将 Meta 元素头放在开始位置,以防止提高人为的 CSP 策略注入。

如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。OneASP&utm_campaign=AspRaspArti&from=jswgiardnp) 自适应安全平台集成了预测、预防、检测和响应的能力,为您提供精准、持续、可视化的安全防护。想阅读更多技术文章,请访问 OneAPM 官方技术博客&utm_campaign=AspRaspArti&from=jswgiardnp)
本文转自 OneAPM 官方博客

时间: 2024-08-02 19:38:48

Web 安全之内容安全策略 (CSP)的相关文章

浏览器安全策略说之内容安全策略CSP(1)

前言2013年11月Veracode给出的报告指出,全球前1000000网站中仅有269个网站使用了W3C规范的CSP策略头Content-Security-Policy.而在2014年2月ZoomEye给出的测试报告中,国内排名前7000的域名没有使用CSP,国内1千万的域名(含子域名)中仅发现7个使用了CSP策略,其中还有3个网站CSP语法使用错误.如果说CSP是一个伟大的安全策略,为何全球范围内网站使用率如此之低?是CSP自身的设计存在问题,还是网站管理员们没有去充分了解和利用它.CSP到

C#获取web.config配置文件内容的方法

本文实例讲述了C#获取web.config配置文件内容的方法.分享给大家供大家参考.具体实现方法如下: 1.ConfigurationManager提供对客户端应用程序配置文件的访问. 其有两个属性:ConnectionStrings 获取当前应用程序默认配置的 ConnectionStringsSection 数据. 方法一: 代码如下: string myConn =System.Configuration.ConfigurationManager.ConnectionStrings["sq

面向未来Web设计:内容与外层分离 渐进增强

中介交易 SEO诊断 淘宝客 云主机 技术大厅 现在终端设备种类繁多对WEB设计提出更多要求 是时候考虑针对未来,设计出体验友好的Web了.现在终端设备种类繁多,如台式机.笔记本.上网本.平板电脑.多功能手机.智能手机等等,而这仅仅是一个开始.技术更新换代的速度在加快,我们的工作流程.标准及基础设施正在触及它们所能承受的极限.这个相互联通的时代不断创造着新的挑战,同时也酝酿着巨大的机会. 谁也无法预知,在未来将会发生什么.如果有人说可以创造出永不过时的事物,这又将是多么愚蠢的事啊.虽然我们无法提

内容安全策略(CSP),防御 XSS 攻击的好助手

什么是 CSP? 其核心思想十分简单:网站通过发送一个 CSP 头部,来告诉浏览器什么是被授权执行的与什么是需要被禁止的. 这里有一个 PHP 的例子: <?php header("Content-Security-Policy: <your directives>"); ?> 一些指令 你可以定义一些全局规则或者定义一些涉及某一类资源的规则: default-src 'self' ; # self = 同端口,同域名,同协议 => 允许 基础参数是 de

HTTP 的内容安全策略(CSP)

本文介绍的是W3C的Content Security Policy,简称CSP.顾名思义,这个规范与内容安全有关,主要是用来定义页面可以加载哪些资源,减少XSS的发生. Chrome扩展已经引入了CSP,通过manifest.json中的content_security_policy字段来定义.一些现代浏览器也支持通过响应头来定义CSP.下面我们主要介绍如何通过响应头来使用CSP,Chrome扩展中CSP的使用可以参考Chrome官方文档. 浏览器兼容性 早期的Chrome是通过X-WebKit

PHP关于web页面交互内容

学php学了有一段时间了总结总结给大家分享一下 PHP中的引用 第一段程序: 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码   输出结果为: firstName secondName   第二段程序: 按 Ctrl+C 复制代码 按 Ctrl+C 复制代码   输出结果为:firstName   如果把原变量给释放掉则自动赋值给引用变量 php中的常量定义  define() 定义形式:define("常量名","常量值",是否大小不写敏感(默认false

Ariadne 2.7.6发布 Web框架和内容管理系统

Ariadne是一款采用PHP开发的Web应用框架和http://www.aliyun.com/zixun/aggregation/10094.html">内容管理系统.它可以让你轻松建立复杂的Web应用程序和网站,支持安全性,用户管理,模板化,数据检索和存储,高速缓存,和网站管理的功能.它存储在一个结构化的对象存储,可以通过一个广泛的文件系统的API访问内容. Ariadne 2.7.6版本增加了一个新的语法来突显模板编辑器,支持PINP模板.firePHP调试和reCAPTCHA模块.

web社区的内容为王:Friend feed和Google buzz为什么不行

Friend feed串联起你在互联网上所有的好友(或者叫关注的人等,称谓在这里无所谓),让你和朋友们在网上的任何分享都能最快地传播开来.这么好的事情,为什么搞不起来(Alexa才#642,不如很多小的垂直性社区)?因为http://www.aliyun.com/zixun/aggregation/8258.html">内容为王.这四个字要细细分析一下才能知道为什么看似这么浅显的道理如此重要. Friend feed(下面简称为FF)上没有内容么?当然有了.这里不讨论人和人的关系,虽然说某

是时候使用HTTPS了!利大于弊的六大因素

HTTPS网站激增,搜索引擎排名更高,浏览器警告更少. 自从斯诺登爆料某些强权情报机构全面收集在线通信,安全专家就在呼吁进行全网加密.如今,4年过去了,我们似乎已经突破了临界点. 去年,通过加密SSL/TLS连接支持HTTPS-HTTP的站点大幅增长.开启加密好处多多,如果你的网站尚未支持该技术,可以考虑马上开启. 来自谷歌Chrome和Mozilla火狐的遥测数据显示,超过一半的网上流量如今已是经过了加密的,电脑端和移动端均如此.加密流量大多通往几个大型网站,但即便如此,相比1年前少得可怜的1