内容安全策略CSP(Content-Security-Policy)

Vue进阶(三十三)Content-Security-Policy(CSP)详解_content-security-policy前端和后端 CSP) 是一种加固 Web 应用的安全性技术,通过在网站页面中设置 CSP Header 来限制页面中能够执行的脚本、样式、图片等资源。CSP 包括很多不同的策略,因此安全设置的具体值取决目标网站的需求和资源使用情况。一般而言,建议设置较为严格的 CSP,以避免XSSCSRF等安全问题。以上设置的 CSP 规则禁止所有来自第三方网站的资源,只允许本网站的资源加载。其中script-src只允许本网站和 example.com 的脚本加载,img-src只允许本网站和 data: URI 的图片加载, 阅读详情

内容安全策略(CSP),其核心思想十分简单:网站通过发送一个 CSP 头部,来告诉浏览器什么是被授权执行的与什么是需要被禁止的。其被誉为专门为解决XSS攻击而生的神器。

1.前言

内容安全策略 (CSP) 是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件,这些攻击都是主要的手段。

CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。

CSP 大大增强了网页的安全性。攻击者即使发现了漏洞,也没法注入脚本,除非还控制了一台列入了白名单的可信主机。

2.CSP作用

限制资源获取

报告资源获取越权

3.限制方式

default-src限制全局

制定限制类型

资源类型有:connect-src、mainfest-src、img-src、font-src、media-src、style-src、frame-src、script-src…

4.应对威胁

4.1 跨站脚本攻击

CSP 的主要目标是减少和报告 XSS 攻击 ,XSS 攻击利用了浏览器对于从服务器所获取的内容的信任。恶意脚本在受害者的浏览器中得以运行,因为浏览器信任其内容来源,即使有的时候这些脚本并非来自于它本该来的地方。

CSP通过指定有效域——即浏览器认可的可执行脚本的有效来源——使服务器管理者有能力减少或消除XSS攻击所依赖的载体。一个CSP兼容的浏览器将会仅执行从白名单域获取到的脚本文件,忽略所有的其他脚本 (包括内联脚本和HTML的事件处理属性)。

作为一种终极防护形式,始终不允许执行脚本的站点可以选择全面禁止脚本执行。

4.2 数据包嗅探攻击

除限制可以加载内容的域,服务器还可指明哪种协议允许使用;比如 (从理想化的安全角度来说),服务器可指定所有内容必须通过HTTPS加载。一个完整的数据安全传输策略不仅强制使用HTTPS进行数据传输,也为所有的cookie标记安全标识 cookies with the secure flag,并且提供自动的重定向使得HTTP页面导向HTTPS版本。网站也可以使用 Strict-Transport-Security HTTP头部确保连接它的浏览器只使用加密通道。

5.CSP使用

CSP分类:

(1)Content-Security-Policy
配置好并启用后,不符合 CSP 的外部资源就会被阻止加载。
(2)Content-Security-Policy-Report-Only
表示不执行限制选项,只是记录违反限制的行为。它必须与report-uri选项配合使用。

CSP的使用:

(1)在HTTP Header上使用(首选)

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

(2)在HTML上使用

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

Meta 标签与 HTTP 头只是行式不同而作用是一致的,如果 HTTP 头与 Meta 定义同时存在,则优先采用 HTTP 中的定义。
如果用户浏览器已经为当前文档执行了一个 CSP 的策略,则会跳过 Meta 的定义。如果 META 标签缺少 content 属性也同样会跳过。

CSP使用实例:

1.一个网站管理者想要所有内容均来自站点的同一个源 (不包括其子域名)

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

2.一个网站管理者允许内容来自信任的域名及其子域名 (域名不必须与CSP设置所在的域名相同)

Content-Security-Policy: default-src 'self' *.trusted.com

3.一个网站管理者允许网页应用的用户在他们自己的内容中包含来自任何源的图片, 但是限制音频或视频需从信任的资源提供者(获得),所有脚本必须从特定主机服务器获取可信的代码.

Content-Security-Policy: default-src 'self'; img-src *; media-src media1.com media2.com; script-src userscripts.example.com

在这里,各种内容默认仅允许从文档所在的源获取, 但存在如下例外:

4.一个线上银行网站的管理者想要确保网站的所有内容都要通过SSL方式获取,以避免攻击者窃听用户发出的请求。

Content-Security-Policy: default-src https://onlinebanking.jumbobank.com

该服务器仅允许通过HTTPS方式并仅从onlinebanking.jumbobank.com域名来访问文档。

5.一个在线邮箱的管理者想要允许在邮件里包含HTML,同样图片允许从任何地方加载,但不允许JavaScript或者其他潜在的危险内容(从任意位置加载)。

Content-Security-Policy: default-src 'self' *.mailsite.com; img-src *

注意这个示例并未指定script-src。在此CSP示例中,站点通过 default-src 指令的对其进行配置,这也同样意味着脚本文件仅允许从原始服务器获取。

6.CSP的报告(report-only)模式

为降低部署成本,CSP可以部署为报告(report-only)模式。在此模式下,CSP策略不是强制性的,但是任何违规行为将会报告给一个指定的URI地址。此外,一个报告模式的头部可以用来测试一个修订后的未来将应用的策略而不用实际部署它。

你可以用Content-Security-Policy-Report-Only HTTP 头部来指定你的策略,像这样:

Content-Security-Policy-Report-Only: policy

如果Content-Security-Policy-Report-Only 头部和 Content-Security-Policy 同时出现在一个响应中,两个策略均有效。在Content-Security-Policy 头部中指定的策略有强制性 ,而Content-Security-Policy-Report-Only中的策略仅产生报告而不具有强制性。

支持CSP的浏览器将始终对于每个企图违反你所建立的策略都发送违规报告,如果策略里包含一个有效的report-uri 指令。

默认情况下,违规报告并不会发送。为启用发送违规报告,你需要指定 report-uri 策略指令,并提供至少一个URI地址去递交报告:

Content-Security-Policy: default-src 'self'; report-uri http://reportcollector.example.com/collector.cgi

然后你需要设置你的服务器能够接收报告,使其能够以你认为恰当的方式存储并处理这些报告。

参考文章:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP#示例_2

http://www.ruanyifeng.com/blog/2016/09/csp.html

https://blog.csdn.net/qq_37943295/article/details/79978761

网站扫描出的漏洞解决:检测到目标Content-Security-Policy、X-XSS-Protection/Content-Security-Policy响应头缺失、加密算法等处理修复方法 Content Security Policy (CSP) 通过告诉浏览器一系列规则,严格规定页面中哪些资源允许有哪些来源, 不在指定范围内的统统拒绝,可以服务器添加 Content-Security-Policy 头信息来指定规则解决。connect-src *会使安全进行升级,即一个http页面中所有调用的静态资源会自动升级使用https调用。但这样也会产生很多问题,如果调用的资源实际并不支持https的话,这时如果不是线上环境可以不理会,线上环境使用https就没有这样的问题了。 阅读详情

相关推荐

【网络安全】Content Security Policy (CSP) 介绍

内容安全策略 (CSP) 是一个额外的安全层,用于检测并削弱某些特定类型的攻击,包括跨站脚本 (XSS) 和数据注入攻击等。无论是数据盗取、网站内容污染还是散发恶意软件,这些攻击都是主要的手段。

th3383193的博客 2827

内容安全策略 Content-Security-Policy

1、限制资源获取:限制网页当中一系列的资源获取的情况,从哪里获取,请求发到哪个地方限制方式:default-src限制全局的和链接有关的作用范围根据资源类型(connect-src、img-src等),限制资源范围2、报告资源获取越权:在网页当中获取了一些我们不应该获取的资源的时候,给服务进行报告,报告资源获取越权,然后做出调整之所以报这个错误,就是我们加了这个头的作用。这个时候 inline脚本还是不能执行的。如果引入外链的脚本文件,则会报错,这样就可限制,只能使用我们本站使用的脚本。

qq_30436011的博客 3万+

内容安全策略(Content Security Policy,CSP)

CSP是一组浏览器安全标头的规范,通过这些标头,网站所有者可以告诉浏览器哪些资源可以加载并执行,以及哪些不可以。这有助于防止恶意脚本的注入,因为浏览器将拒绝加载不符合CSP规则的内容。内容安全策略(Content Security Policy,CSP)是一个重要的安全机制,用于帮助保护网站免受恶意攻击和跨站脚本(XSS)等安全威胁。总之,CSP是一个有助于提高网站安全性的重要工具,但需要谨慎配置和管理,以确保安全性与功能之间的平衡。

AiENG_07的博客 1069

Vue进阶(三十三)Content-Security-Policy(CSP)详解

跨域脚本攻击(XSS)是最常见、危害最大的网页安全漏洞。XSS 攻击利用了浏览器对于从服务器所获取的内容的信任。恶意脚本在受害者的浏览器中得以运行,因为浏览器信任其内容来源,即使有的时候这些脚本并非来自于它本该来的地方。为了防止它,要采取很多编程措施(比如大多数人都知道的转义、过滤HTML)。很多人提出,能不能根本上解决问题,即浏览器自动禁止外部注入恶意脚本?这就是"内容安全策略"(,缩写CSP)的由来。CSP。

IT全栈 华强工作室 1万+

Next.js配置教程:内容安全策略(Content Security Policy, CSP)详解

Web应用的安全性在现代开发中至关重要,而内容安全策略(Content Security Policy, 简称CSP)是一项关键技术。CSP通过指定允许加载的资源来源,有效防止常见的攻击如跨站脚本攻击(XSS)和数据注入攻击。Next.js 提供了灵活的工具来配置 CSP,为你的应用构建强大的安全防护。本教程将详细讲解Next.js中CSP的配置方法、最佳实践和常见问题,帮助开发者全面理解和应用这一重要的安全机制。

二进制的梦想 1698

【SAP GUI 脚本 VBA】实战:构建Excel驱动的SAP自动化操作平台

本文详细介绍了如何利用VBA和SAP GUI脚本构建Excel驱动的SAP自动化操作平台,实现高频事务码的标准化封装和批量处理。通过实战案例展示物料主数据查询(MM03)、会计凭证修改(FB02)等场景的自动化实现,帮助用户提升10倍+操作效率,同时确保数据可追溯性和操作安全性。

weixin_33748818的博客 494

CSP Content Security Policy(内容安全策略)

CSP 前端中的 CSP 指的是 Content Security Policy(内容安全策略),是一种用于提升网站安全性的浏览器功能。CSP 主要用于防止 XSS(跨站脚本攻击) 和 数据注入攻击,通过限制网页中的内容来源(如脚本、样式、图像、媒体等)来降低被恶意代码利用的风险。

睡不着的可乐博客 2326

ptrade量化策略之沪深300指数增强

本策略的核心是在沪深300股票池中选股,选择的股票都是市值比较大,业绩比较好的白马股,根据市场相对位置以及基本面因子来选择股票

qq_29301281的博客 1180

Content Security Policy (CSP)内容安全策略

CSP简介 Content Security Policy(CSP),内容(网页)安全策略,为了缓解潜在的跨站脚本问题(XSS攻击),浏览器的扩展程序系统引入了内容安全策略(CSP)这个概念。 CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。 两种方法启用 CSP 一种是通过 HTTP 响应头信息的Content-Security-Policy字段。 一种是通过网页的标签。 <meta h

飞翔的熊blabla 1335

Linux运维踩坑实录:手把手教你修复LVM中PV显示[unknown]的诡异问题

本文详细解析了Linux运维中LVM物理卷(PV)显示[unknown]的故障现象及修复方法。通过分析问题根源、提供标准修复流程和特殊场景处理方案,帮助运维人员快速解决VG容量异常、PV状态丢失等问题,并分享预防措施与最佳实践,确保LVM存储系统的稳定运行。

weixin_26869081的博客 344

LSF实践专题(15):LSF队列优先级以及抢占功能初探

在LSF暂停作业时,会向作业发送一个SIGTSTP信号,并且将作业状态变成SSUSP(system suspend),表示被系统暂停,这时,最好是作业的应用能够捕获和处理SIGTSTP信号,否则,即使在LSF中,作业会被认为暂停了,并且释放了slots资源,但是在实际OS中,作业进程仍然在继续,并且不会释放CPU等计算资源。是指LSF自动将低优先级作业暂停(suspend),将空余出来的资源交给高优先级队列中的作业使用,等到高优先级队列的作业结束后,再将被暂停的作业恢复(resume)并继续运行。

richycn的博客 1918

http内容安全策略Content Security Policy(CSP)

内容安全策略CSP是安全性的附加层,有助于检测和缓解某些类型的攻击,包括跨站点脚本(https://owasp.org/www-community/attacks/xss/)和数据注入攻击。这些攻击可用于从数据盗窃,站点损坏到恶意软件分发的所有方面。 CSP被设计为完全向后兼容(除CSP版本2,其中有在向后兼容性一些明确提到的不一致性)。不支持它的浏览器仍然可以与实现它的服务器一起使用,反之亦然:不支持CSP的浏览器只是忽略它,照常运行,默认为Web内容的标准同源策略。如果站点不提供CSP标头,则浏览器同

focus on security 6648

ChatGPT设置密钥后Codex免手机验证:配置顺序与身份凭证复用机制

API Key 是一种用于身份识别的凭证,其核心原理是通过预配置的密钥替代交互式登录流程。在开发工具中,密钥认证优先级通常高于会话认证,当本地存在有效密钥时,工具会直接复用该凭证,从而减少重复验证环节。这种机制的技术价值在于提升开发效率与配置一致性,尤其适用于多设备切换、CI/CD 流水线及编程辅助工具等场景。以 Codex 为例,在 ChatGPT 界面提前配置 API 密钥后,Codex 启动时可读取持久化存储的密钥,避免触发手机号验证,实现身份凭证的跨入口复用。

weixin_33940469的博客 392

DVWA —— Content Security Policy (CSP 内容安全策略) Bypass

CSP全称是: Content-Security-Policy, 内容安全策略。 是指HTTP返回报文头中的标签,浏览器会根据标签中的内容,判断哪些资源可以加载或执行。主要是为了缓解潜在的跨站脚本问题(XSS),浏览器的扩展程序系统引入了内容安全策略这个概念。原来应对XSS攻时,主要采用函数过滤转义输入中的特殊字符、标签、文本来规避攻击。CSP的实质就是白名单制度,开发人员明确告诉客户端,哪些外部资源可以加载和执行。开发者只需要提供配置,实现和执行全部由浏览器完成。

YouTheFreedom的博客 1883

科研人必备!用WisPaper搭建个人文献知识库的完整指南(附Zotero联动技巧)

本文详细介绍了如何利用WisPaper搭建高效的个人文献知识库,包括文件命名标准化、文件夹结构设计、语义搜索技巧及与Zotero的深度联动方法。通过智能标签系统和知识图谱功能,科研人员可以快速定位关键文献,提升研究效率。特别适合需要管理大量学术文献的研究者。

weixin_30823001的博客 259

点云统计滤波 (python详细过程版)【2025最新版】

统计滤波python详细过程版,博客长期更新,本文最近更新时间为:2025年1月12日。

点云侠的博客 5634

前端安全-内容安全策略CSP(Content Security Policy)

可以通过CSP指定策略来规定页面加载的内容来源(这里的内容可以指脚本、图片、iframe、style等等可能的远程的资源)。Content-Security-Policy-Report-Only表示不会限制加载的内容,只是对加载内容不符合策略要求的进行上报,通过HTTP 请求发送到指定URI。可以把指令理解为属性,指令值理解为属性对应的值,一个属性可对应多个值,多值之间以空格分割,属性之间以分号分割。策略集由指令、空格、指令值、分号组成,不同的指令值之间以空格分割,不同指令之间以分号(

AIWWY的博客 3716

一文搞定离线环境下的RAG引擎部署

在人工智能浪潮下,技术已成为构建智能问答、文档分析和代码助手等应用的核心。然而,在许多企业场景中,出于数据安全和性能的考虑,服务器往往部署在中,并要求极致的推理效率。这给依赖外部资源的应用部署带来了巨大挑战。如何在这种严苛的环境下,完整、可靠地部署一套包含向量数据库、**高性能推理服务(vLLM)**和Python后台的复杂RAG系统呢?本文将为你提供一个,手把手教你如何使用 Docker 技术,将一套基于 Weaviate 和的 Python RAG 应用完整打包,并在离线环境中一键部署。

木鱼时刻的专栏 1239

什么是CSP?全面了解内容安全策略(Content Security Policy)

CSP 是一种强大的安全工具,它能够显著提高网站的安全性,防止恶意脚本和数据注入攻击。通过在网站中配置适当的 CSP 策略,网站管理员可以限制外部资源的来源,从而降低潜在的安全风险。虽然 CSP 在配置和维护上可能存在一定的挑战,但它仍然是网站安全防护体系中非常重要的一部分。如果你还没有启用 CSP,建议立即开始使用它,为你的用户提供更加安全的浏览体验。

weixin_63726940的博客 4062

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【web】内容安全策略CSP(Content-Security-Policy)

文章目录1. 前言2. CSP作用2.1 什么是资源2.2 资源列表3. csp语法3.1 完整示例3.1.1 复现iframe同源限制3.2 语法深入解析3.1 default-src 1. 前言 内容安全策略(CSP),其核心思想十分简单:网站通过发送一个 CSP 头部,来告诉浏览器什么是被授权执行的与什么是需要被禁止的。其被誉为专门为解决XSS攻击而生的神器。 xss是跨域脚本攻击的缩写,详细可以参见《XSS跨域脚本攻击》,举例来说,可以在页面被注入非法的js脚本,然后产生不安全的后果。 内容安全

m0_45406092的博客 4224

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Web内容安全策略CSP(Content-Security-Policy)

参数: name: 键 value: 值 path: 路径 domain: 作用域 secure: 设置为安全的,只能用https协议 expires: 过期时间,可以指定日期或者字符串,默认天 // 获取所有 XEUtils.cookie() // 根据name获取 XEUtils.cookie('name') // 删除 XEUtils.cookie('name', null, ...

大猩猩X 2231

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

关于HTTP中的CSP(Content-Security-Policy)内容安全策略

关于HTTP中的CSP 在HTTP协议中为了使我们的网站足够的安全,经常要用到CSP(Content-Security-Policy)内容安全策略 CSP的作用 限制网站中资源的获取,以及请求发送到哪里 报告资源获取越权 CSP的限制方式 default-src限制全局和链接请求有关的东西 指定资源类型 connect-src manifest-src img-src font-src media-src style-src frame-src script-src 网页上和链接有关的…

Wang的专栏 6438

csp(Content-Security-Policy)内容安全策略

csp是网页应用中常见的以中安全保护机制,通过安全策略的配置来控制外部资源的引入,如js脚本,图片,iframe等是否能被页面调用执行。 csp可以通过响应头的米标签的字段来实现,是浏览器的一种响应策略,可以防御xss攻击。 csp实现方式 通过html米标签实现 Content-Security-policy: default-src 'self'; script-src 'self' allowed.com; img-src 'self' allowed.com; style-src 's.

wyk760629476的专栏 1803
上一篇: Nodejs项目部署阿里云问题
下一篇: Nginx基础使用
Cacra
博客等级 码龄13年 373粉丝 530原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值