Refused to display ‘‘ in a frame because it set ‘X-Frame-Options‘ to ‘sameorigin‘

出现问题:

项目中有iframe嵌套页面后报错。

出现问题的原因:

nginx代理配置了X-Frame-Options :DENY

解决办法:

X-Frame-Options 有三个值:

DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。

具体分析

DENY 或 SAMEORIGIN 分别是什么意思?

DENY:

  • 当设置为 DENY 时,页面不能被嵌入到任何 <iframe><frame><embed>, 或 <object> 中,无论这些元素是在同一个网站上还是在其他网站上。
  • 这意味着其他任何网站都不能将此页面嵌入到它们的页面中。
  • 例如, 如果 example.com/page 设置了 X-Frame-Options: DENY, 那么无论是 example.com 还是 other-site.com, 都不能在其页面中嵌入 example.com/page

SAMEORIGIN:

  • 当设置为 SAMEORIGIN 时, 页面只能被同一源 (origin) 的页面嵌入。
  • 这意味着只有与内容相同的协议、域名和端口的页面才能嵌入这个页面。其他所有的外部源都不能嵌入。
  • 例如, 如果 example.com/page 设置了 X-Frame-Options: SAMEORIGIN, 那么只有 example.com 上的其他页面可以嵌入它。其他域名,如 other-site.com, 不能嵌入这个页面。

  • 11
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

茶杯茶凉

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

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

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

打赏作者

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

抵扣说明:

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

余额充值