`
liangyan9966
  • 浏览: 41000 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

阅读更多
阅读全文http://click.aliyun.com/m/22994/
什么是 CSP?
其核心思想十分简单:网站通过发送一个 CSP 头部,来告诉浏览器什么是被授权执行的与什么是需要被禁止的。

这里有一个 PHP 的例子:

<?php
header("Content-Security-Policy: <your directives>");
?>
一些指令
你可以定义一些全局规则或者定义一些涉及某一类资源的规则:

default-src 'self' ;
# self = 同端口,同域名,同协议 => 允许
基础参数是 default-src:如果没有为某一类资源设置指令规则,那么浏览器就会使用这个默认参数值。

script-src 'self' www.google-analytics.com ;
# 来自这些域名的 JS 文件 => 允许
在这个例子中,我们已经授权了 www.google-analytics.com 这个域名来源的 JavaScript 文件使用到我们的网站上。我们也添加了 'self' 这个关键词;如果我们通过 script-src 来重新设置其它的规则指令,它将会覆盖 default-src 规则。

如果没有指明协议(scheme)或端口,它就会强制选择与当前页面相同的协议或端口。这样做防止了混合内容(LCTT 译注:混合内容指 HTTPS 页面中也有非 HTTPS 资源,可参见: https://developer.mozilla.org/zh-CN/docs/Security/MixedContent )。如果页面是 https://example.com,那么你将无法加载 http://www.google-analytics.com/file.js 因为它已经被禁止了(协议不匹配)。然而,有一个例外就是协议的提升是被允许的。如果 http://example.com 尝试加载 https://www.google-analytics.com/file.js,接着协议或端口允许被更改以便协议的提升。

style-src 'self' data: ;
# Data-Uri 嵌入 CSS => 允许
在这个例子中,关键词 data: 授权了在 CSS 文件中 data 内嵌内容。

在 CSP 1 规范下,你也可以设置如下规则:

img-src 有效的图片来源
connect-src 应用于 XMLHttpRequest(AJAX),WebSocket 或 EventSource
font-src 有效的字体来源
object-src 有效的插件来源(例如,<object>,<embed>,<applet>)
media-src 有效的 <audio> 和 <video> 来源
CSP 2 规范包含了如下规则:

child-src 有效的 web workers 和 元素来源,如 <frame> 和 <iframe> (这个指令用来替代 CSP 1 中废弃了的 frame-src 指令)
form-action 可以作为 HTML <form> 的 action 的有效来源
frame-ancestors 使用 <frame>,<iframe>,<object>,<embed> 或 <applet> 内嵌资源的有效来源
upgrade-insecure-requests 命令用户代理来重写 URL 协议,将 HTTP 改到 HTTPS (为一些需要重写大量陈旧 URL 的网站提供了方便)。
为了更好的向后兼容一些废弃的属性,你可以简单的复制当前指令的内容同时为那个废弃的指令创建一个相同的副本。例如,你可以复制 child-src 的内容同时在 frame-src 中添加一份相同的副本。

CSP 2 允许你添加路径到白名单中(CSP 1 只允许域名被添加到白名单中)。因此,相较于将整个 www.foo.com 域添加到白名单,你可以通过添加 www.foo.com/some/folder 这样的路径到白名单中来作更多的限制。这个需要浏览器中 CSP 2 的支持,但它很明显更安全。
阅读全文http://click.aliyun.com/m/22994/
分享到:
评论

相关推荐

    php_XSS防攻击插件

    3. **内容安全策略(CSP)**:通过设置HTTP响应头,限制浏览器只加载和执行指定来源的资源,防止恶意脚本注入。 4. **使用预处理语言特性**:如PHP的`htmlspecialchars()`函数,可以自动转义可能引发XSS的字符。 5. ...

    web安全之XSS攻击及防御pdf

    ### Web安全之XSS攻击及防御 #### 一、XSS基本原理 ##### 1.1 什么是XSS ...以上内容涵盖了XSS攻击的基本概念、分类、挖掘方法、利用方式以及防御策略等多个方面,对于深入理解和防御XSS攻击具有重要的指导意义。

    csp_脑电分类代码_脑电CSP_csp_fullypoh_运动想象.zip

    标题中的“csp_脑电分类代码_脑电CSP_csp_fullypoh_运动想象.zip”指示了这是一个关于脑电(EEG)信号处理的项目,特别涉及到了脑机接口(BCI)中的分类算法。CSP,即Common Spatial Pattern,是BCI领域常用的一种...

    setup_C28XFPU_CSP_v3_3_1207

    "setup_C28XFPU_CSP_v3_3_1207" 是一个软件安装程序,主要用于更新CSS3.3版本的特定组件。这个压缩包文件的核心是 "setup_C28XFPU_CSP_v3_3_1207.exe",这通常是一个可执行文件,用于在用户计算机上安装或升级C28...

    csp_脑电分类代码_脑电CSP_csp_fullypoh_运动想象_源码.rar

    源码压缩包“csp_脑电分类代码_脑电CSP_csp_fullypoh_运动想象_源码.zip”可能包含以下内容: 1. 数据集:实际的脑电图数据,可能是EDF、MATLAB或CSV格式。 2. 预处理脚本:用于清洗和规范化EEG信号。 3. CSP实现:...

    XSS.zip_XSS_c xss

    ### C_XSS 在C语言中,虽然它主要用于系统级编程,不直接处理Web应用,但开发Web服务或API时仍可能遇到XSS问题。C程序员需要注意以下几点: 1. **谨慎处理字符串**:在接收和处理用户输入时,确保进行适当的边界...

    csp.zip_CSP matlab_CSP算法_csp_matlab CSP_运动想象

    在这个场景下,"CSP.zip"是一个包含关于CSP算法(Common Spatial Pattern,共空间模式)的Matlab实现的压缩文件,专门用于处理运动想象任务的数据。 CSP算法是一种常用于BCI领域的信号处理方法,特别适用于提取和...

    8、XSS 攻击的防御pdf资料

    XSS(跨站脚本攻击)是网络安全领域中一种...总之,XSS攻击是一种严重的威胁,需要开发者在设计和开发阶段就充分考虑安全性,通过合理的输入验证、数据转义和使用安全策略来降低攻击风险,保护用户的隐私和数据安全。

    如何防御XSS攻击.zip

    XSS(Cross-Site Scripting,跨站...了解并实施这些防御策略,可以帮助开发者构建更安全的Web应用,保护用户免受XSS攻击的威胁。同时,持续关注网络安全动态,及时学习新的防御手段也是抵御不断演化的攻击方式的关键。

    CSP.rar_csp_java csp_回溯法

    标题中的"CSP.rar_csp_java csp_回溯法"提到了三个主要概念:CSP(Constraint Satisfaction Problem,约束满足问题)、Java以及回溯法。约束满足问题是一种经典的计算机科学问题,通常涉及到在一组变量中找到合适的...

    XSS跨站脚本攻击剖析与防御

    以下是对XSS攻击的深入剖析及防御策略的详细阐述: 1. **XSS攻击类型**: - 存储型XSS:攻击者将恶意脚本存储在服务器上,例如在论坛的帖子或评论中。当其他用户加载包含恶意脚本的页面时,脚本会在他们的浏览器中...

    「安全教育」3_ZN2018_WV_-_CSP_bypass - 威胁情报.zip

    【安全教育】3_ZN2018_WV_-_CSP_bypass - 威胁情报.zip 这个压缩包文件聚焦于网络安全教育,特别是针对Web应用中的Content Security Policy(CSP)绕过威胁,这是一项重要的防御机制,用于防止跨站脚本攻击(XSS)和...

    wxj_CSP.rar_csp_csp 特征_matlab 脑电_脑电_脑电 CSP

    总的来说,"wxj_CSP.rar_csp_csp 特征_matlab 脑电_脑电_脑电 CSP"这个压缩包文件提供了使用MATLAB实现的CSP算法,用于脑电图信号的特征提取,对于理解脑部活动、研究脑机接口或进行相关科研工作具有很高的价值。

    防止XSS攻击解决办法

    XSS(Cross-site scripting)攻击是一种常见的网络安全威胁,它利用了网站对用户输入的不当处理,使得攻击者能够注入恶意脚本,进而控制或者窃取用户的浏览器数据。防止XSS攻击是保护Web应用安全的重要一环,对于...

    Java防止xss攻击附相关文件下载

    保持对最新的安全实践和框架更新的了解,定期对开发团队进行安全编码培训,提高他们对XSS攻击的认识和防御能力。 总之,Java防止XSS攻击需要综合运用多种技术,包括过滤、转义、验证和使用安全的编程实践。开发...

    普及组(CSP_J和CSP_JS).zip

    普及组(CSP_J和CSP_JS).zip

    setup_C28XFPU_CSP_v3[1].3.1207.exe

    setup_C28XFPU_CSP_v3[1].3.1207.exe dsp28XX浮点支持库

    JSON_csp_

    JSON_csp_是一个关于计算机安全策略(Content Security Policy, CSP)和如何利用树与图的遍历技术解决字符串匹配问题的实例。在这个话题中,我们将深入探讨CSP的基本概念、其在Web安全中的作用,以及如何通过编程...

    xss攻击类型与防止xss攻击解决方案

    **XSS(跨站脚本攻击)是一种常见的网络安全漏洞,主要发生在Web应用程序中。它允许攻击者通过在用户浏览器上注入恶意脚本来执行代码...通过结合多种防御手段,我们可以有效地降低XSS攻击的风险,保护用户的数据安全。

Global site tag (gtag.js) - Google Analytics