CSP-内容安全策略

本文详细介绍了CSP(Content-Security-Policy),包括其格式、资源限制和关键字,以及如何通过设置CSP来防止XSS攻击。通过CSP,可以限制资源获取,确保网页内容的安全,并在触发限制时向服务端汇报。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Content-Security-Policy

服务端可通过设置响应头CSP来实现:1.限制资源获取;2.报告资源获取越权

格式

[资源1][空格][关键字1];[资源2] [关键字2];…
如:

'Content-Security-Policy': 'script-src \'self\'; form-action \'self\'; report-uri /report'

ps: \表转义,避免node.js中因引号使字符串被分割

一、限制资源获取

资源

1.所有资源(default-src)
2.指定资源类型限制(connect-src/img-src/script-src/style-src/media-src…)
3.其他

关键字

  1. 'self':代表和文档同源,包括相同的 URL 协议和端口号。两侧单引号是必须的。
  2. http: https::代表仅允许加载通过http或https协议引入的资源
  3. http://www.baidu.com:允许引入资源的指定域名

常用限制

1.限制inline-script(html行内js):script-src http: https:
2.限制其他域script的引入:script-src \'self\'
3.限制指定网站资源引入:default-src \'self\' https://cdn.bootcss.com/
4.限制form表单的外部地址跳转:form-action \'self\'

此处不做展开,详见 MDN CSP内容安全策略
XSS:往web页面插入恶意script代码,达到攻击用户的目的

二、触发限制时向服务端汇报

  1. 限制并发送报告:Content-Security-policy: report-uri /report
  2. 不限制并发送报告:Content-Security-policy-Report-Only:default-src \'self\' report-uri /report

web页面设置CSP

通过meta设置:

<meta http-equiv="Content-Security-Policy" content="script-src 'self'; form-action 'self';">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值