X-Frame-Options 响应头
注意: CSP Level 2 规范中的 frame-ancestors 指令会替代这个非标准的 header。CSP 的 frame-ancestors 会在 Gecko 4.0 中支持,但是并不会被所有浏览器支持。然而 X-Frame-Options 是个已广泛支持的非官方标准,可以和 CSP 结合使用。
X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 frame , iframe 或者 object 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。
X-Frame-Options 有三个值:
DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。
换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options
这个页面写了通过Nginx和iis和Apache来解决这个问题
但是在我们平时的开发中可以通过设置header的值来解决这个问题
response.setHeader("X-Frame-Options", "SAMEORIGIN");
X-Frame-Options 响应头 注意: CSP Level 2 规范中的 frame-ancestors 指令会替代这个非标准的 header。CSP 的 frame-ancestors 会在 Gecko 4.0 中支持,但是并不会被所有浏览器支持。然而 X-Frame-Options 是个已广泛支持的非官方标准,可以和 CSP 结合使用。 X-Frame-Options HTTP 响...
项目中用到i
frame
嵌入网页,然后用到springsecurity就被拦截了 浏览器报错
Ref
u
sed
to
display
‘网址' in a
frame
because it
set
'X-
Frame
-
Options
' to '
deny
'.
原因是因为springBoot springSecurty使用 X-
Frame
-
Options
防止网页被
Frame
报错信息已经描述的很明确了,在
frame
嵌套页面的时候被拒绝了,拒绝原因是Header头中的X-
Frame
-
Options
属性的值为‘
deny
’。
这个机制是为了防止站点被劫持。
这个
问题
需要修改Nginx或者Apache的配置,这里以Nginx为例:
在配置文件中加入X-
Frame
-
Options
属性的值:
add_header X-
Frame
-
Options
ALLOWALL; #允许所有域名i
frame
add_header X-
问题
描述
当前项目是一个生产环境正常运行的项目,由于我们要迁移服务器并且部署 k8s,所以需要重新部署上线该项目。
使用 i
frame
的场景就是在一个容器中展示另一个页面(也是我们自己的页面,只不过域名不同)才会抛出这个错误。
这个项目的在测试环境和生产环境都是可以正
从上面我们可以看到既然该页面不允许在
frame
框架中展示,那我们就用新标签页的方式打开即可。这个有多种方法,前端修改,或者js来修改链接属性target="_blank",我项目是采用后端服务器代码的修改。
一、 X-
Frame
-
Options
是什么?
X-
Frame
-
Options
是一个HTTP标头(header),用来告诉浏览器这个网页是否可以放在i
Frame
内。
二、它可以取哪些值?
1、
DENY
表示不要把这个网页放在i
Frame
内,通常的目的就是要帮助用户...
最近在做毕设的过程中在tab页中使用i
frame
应用子页出现错误。
错误信息:
Ref
u
sed
to
display
in a
frame
because it
set
‘X-
Frame
-
Options
’ to ‘
DENY
’
分析:由于X-
Frame
-
Options
属性设置为
DENY
,禁止了i
frame
的引用
解决
方案:
tomcat的配置文件web.xml下添加filter
springmvc 在整合spring security时,浏览器发送请求,出现
解决
:在继承WebSecurityConfigurerAdapter的子类的覆盖方法configure(HttpSecurity)里面添加:
http.headers().
frame
Options
().sameOrigin();
百度查找原因:
既然是在浏览器端发送请求时出的
问题
,那么先看一下请求信息,如图,...
今天写项目的时候遇到了一个
问题
,使用i
frame
嵌入网页,浏览器报错:
Ref
u
sed
to
display
‘url’ in a
frame
because it
set
‘X-
Frame
-
Options
’ to ‘
deny
’。
网上查了一下原因:是SpringSecurity 防止恶意注入,所以设置了X-
Frame
-
Options
为
deny
。如下图:
解决
问题
,把这个X-
Frame
-Optio...
在用spring boot项目时,整合了springSecurity框架,结果i
frame
中界面无法显示出来,按F12查看
问题
,结果显示访问的界面有in a
frame
because it
set
'X-
Frame
-
Options
' to '
deny
'提示,
解决
办法如下:
在我的SecurityConfig类的configure方法中,增加头设置http.headers().
frame
Options
().sameOrigin();,如下所示:
public class WebSecurity.
Code Is Never Die !
问题
: 在做i
frame
预览PDF文件时,虽然nginx配置了X-
Frame
-
Options
SAMEORIGIN,但在i
frame
中仍然获取不到内容。
介绍:X-
Frame
-
Options
HTTP 响应头是用来给浏览器指示允许一个页面可否在
frame
, i
frame
或者 object 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。
只有当用户使用支持X-
Frame
-
解决mysql java.sql.SQLSyntaxErrorException: Access denied for user 'test'@'%' to database 'xxx'
18713
解决 Refused to display in a frame because it set 'X-Frame-Options' to 'deny'.问题
xiahuaxuanlan1113: