首页 > 其他分享 >because it set 'X-Frame-Options' to 'sameorigin'

because it set 'X-Frame-Options' to 'sameorigin'

时间:2024-02-20 10:34:29浏览次数:40  
标签:sameorigin because HTTP Frame Options self 浏览器 CSP

报错 because it set 'X-Frame-Options' to 'sameorigin'.

Refused to display 'https://xxx.xxx.cn/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

解决方法:

修改页面,增加meta配置

<head>
     <!-- CSP 设置 -->
     <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://yourdomain.com;">
     <!-- 其他头部信息 -->
   </head>

原理

在网页开发中,当你尝试在一个iframe标签内嵌入一个设置了X-Frame-Options响应头为sameorigin的页面时,浏览器会阻止该页面在不同源的iframe中加载。这是因为X-Frame-Options是用于防止点击劫持(clickjacking)攻击的安全策略,它告诉浏览器该页面只能在同源(即协议、域名和端口号都相同)的页面中以iframe的形式展示。

解决方式:

  1. 更改目标页面设置:如果你对被嵌入的Java页面具有控制权,你可以考虑修改服务器端的响应头配置,移除或更改X-Frame-Options为允许跨域。例如,可以将其设置为ALLOW-FROM <指定源>,但请注意,这个选项在现代浏览器中已经不被推荐使用,并且不是所有浏览器都支持

    X-Frame-Options: ALLOW-FROM https://your-allowed-origin.com
    
  2. 使用其他安全策略:若你依然需要保持一定的安全性,可以考虑采用更现代的Content Security Policy(CSP)中的frame-ancestors指令来替代X-Frame-Options,并指定允许嵌入的源。

    Content-Security-Policy: frame-ancestors 'self' https://your-allowed-origin.com;
    

修改HTTP头部或Meta标签

Content-Security-Policy (CSP) 是一种通过HTTP头部或Meta标签在网页中设置的安全策略,用于控制浏览器允许加载哪些资源。具体添加位置如下:

  1. HTTP Header
    在服务器端配置,将CSP规则添加到HTTP响应头中,例如在Apache、Nginx等Web服务器的配置文件里,或者在应用程序(如Node.js、PHP、Java Servlets等)中设置响应头。以下是一个在HTTP响应头中设置CSP的例子:

    Content-Security-Policy: default-src 'self'; script-src 'self' https://trustedscripts.com; style-src 'self' https://stylesheets.com; img-src 'self' data:; object-src 'none'; base-uri 'self';
    
  2. HTML Meta 标签
    当无法通过服务器端设置时,可以在HTML文档部分使用标签来定义CSP。注意,这种方式支持的功能可能不如HTTP头部方式全面,并且某些现代浏览器可能不再支持通过meta标签设置某些CSP指令。

    <head>
      <!-- CSP 设置 -->
      <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://trustedscripts.com;">
      <!-- 其他头部信息 -->
    </head>
    

选择哪种方式取决于你的应用架构和部署环境,通常推荐优先考虑通过HTTP头部来设置CSP以获得最佳兼容性和安全性效果。



欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。

公众号

Don’t reinvent the wheel, library code is there to help.

文章来源:刘俊涛的博客


若有帮助到您,欢迎点赞、转发、支持,您的支持是对我坚持最好的肯定(_)

标签:sameorigin,because,HTTP,Frame,Options,self,浏览器,CSP
From: https://www.cnblogs.com/lovebing/p/18022521

相关文章

  • djangorestframework-simplejwt 的使用
    djangorestframework-simplejwt使用转载于:https://www.cnblogs.com/liuqingzheng/p/179422271快速使用1.1配置#1安装pipinstalldjangorestframework-simplejwt#2路由层fromrest_framework_simplejwt.viewsimporttoken_obtain_pair,token_verify,token_refre......
  • 借助Rich库实现Pandas DataFrame颜值升级
    pandas的DataFrame功能强大自不必说,它可以帮助我们极大的提高统计分析的效率。不过,使用DataFrame开发我们的分析程序的时候,经常需要打印出DataFrame的内容,以验证和调试数据的处理是否正确。在命令行中虽然可以直接打印出DataFrame的内容,但是阅读比较困难。正好前段时间了解到pyt......
  • pandas.DataFrame.drop()函数
    在Pandas库中,DataFrame.drop()用于移除DataFrame中的行或列。df.drop(labels=None,axis=0,index=None,columns=None,level=None,inplace=False,errors='raise')参数:1.labels:要删除的列或者行,如果要删除多个,传入列表2.axis:轴的方向,0为行,1为列,默认为03.......
  • Wicket:Refused to apply inline style because it violates the following Content S
    Content Security Policy (CSP)是一种加固Web应用的安全性的技术,通过在网站页面中设置CSPHeader来限制页面中能够执行的脚本、样式、图片等资源。CSP包...参考1:https://blog.csdn.net/qq_30436011/article/details/127485927为什么我们需要CSP?参考2:https://blog.csd......
  • 全自动替换 ExplorerFrame.dll
    @echooffecho.echo全自动替换ExplorerFrame.dll,任意键继续……echo请确保以管理员身份运行本程序,并且待替换文件在同目录下。pause>nulecho.echo获取管理员权限...takeown/fC:\windows\system32\ExplorerFrame.dll/aicaclsC:\windows\system32\ExplorerFrame.......
  • 十九、Ajax和iFrame
    AjaxAjax向后台发请求1、下载引入jQuery2、语法格式#get$.ajax({Url:‘http://www.*****.com’,Type:‘GET’,Data:{‘k1’:’v1’},Success:function(arg){//arg是字符串类型//varobj=JSON.parse(arg)}})$.ajax({Url:‘http://ww......
  • springboot整合redis报错:链接失败;org.springframework.data.redis.RedisConnectionFai
    错误原因:开启了保护模式解决方案:关闭保护模式和防火墙具体步骤:1、打开你的redis配置文件,做出如下修改2.开启进程守护yes代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。3.......
  • SharePoint Online Framework WebPart 魔改乱用
    前言最近,经常碰到微软更新SharePointOnlineDOM的情况,然后,页面里的WebPart就乱七八糟了,思前想后,找了个解决方法可以规避这个问题,虽然有点剑走偏锋,但是大家可以看看。正文1.下面灰色的部分,是我测试用的WebPart,大家可以看到位置比较奇葩,在整个页面最下方,而不是......
  • 【Vue】使用iframe解决多应用整合问题(微前端)
    一、需求背景有老系统需要重构,新做的系统需要做一个大一统的整合,类似一个分类栏目在菜单位置罗列出有什么子系统应用,点击对应的应用菜单,展示区跳转到相应的子系统应用中我用Excel简单描述了下系统的页面效果: 二、技术方案第一种,使用iframe实现,html提供了iframe标签实现页......
  • [969] Add a spatial reference (a coordinate reference system, CRS) to a GeoDataF
    Toaddaspatialreference(acoordinatereferencesystem,CRS)toaGeoDataFrameinGeoPandas,youcansetthecrsattributeoftheGeoDataFrametothedesiredCRS.Here'showyoucandoit:importgeopandasasgpdfromshapely.geometryimportPoint......