内容安全策略(content-security-policy)

本文详细介绍了Content Security Policy(CSP)的重要性及其在防止点击劫持和XSS攻击中的作用。通过设置HTTP响应头,CSP定义了网页可以加载和执行的外部资源白名单,增强了网页安全性。同时,文章讨论了如何配置CSP,包括script-src、style-src等限制选项,并提到了Content-Security-Policy-Report-Only的使用,以及在实际应用中需要注意的细节。

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

1. iframe

在使用iframe 的时候

<iframe style="border:0;width:100%;height:100%" src="https://github.com/join"/>

请求拒绝
经查 报的是
Refused to frame 'https://github.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'none'".

Refused to frame ‘https://github.com/’ because an ancestor violates the following Content Security Policy directive: “frame-ancestors ‘none’”.

原因是 点击劫持与安全策略

点击劫持与安全策略

禁止页面被放在iframe里加载主要是为了防止点击劫持(Clickjacking):
防止点击劫持(Clickjacking)
具体的,对于点击劫持,主要有 3 项应对措施:

  • CSP(Content Security Policy,即内容安全策略)
  • X-Frame-Options
  • framekiller

服务端设置

通过设置 HTTP 响应头来声明 CSP 和X-Frame-Options,例如:

# 不允许被嵌入,包括<frame>, <iframe>, <object>, <embed> 和 <applet>
Content-Security-Policy: frame-ancestors 'none'
# 只允许被同源的页面嵌入
Content-Security-Policy: frame-ancestors 'self'
# 只允许被白名单内的页面嵌入
Content-Security-Policy: frame-ancestors www.example.com

# 不允许被嵌入,包括<frame>, <iframe>, <embed> 和 <object>
X-Frame-Options: deny
# 只允许被同源的页面嵌入
X-Frame-Options: sameorigin
# (已废弃)只允许被白名单内的页面嵌入
X-Frame-Options: allow-from www.example.com

还有个与frame-ancestors长得很像的fra

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ynchyong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值