转载:https://www.cnblogs.com/weitaming/archive/2017/08/24/7424333.html
在spring boot项目中出现不能加载iframe
页面报一个"Refused to display 'http://......' in a frame because it set 'X-Frame-Options' to 'DENY'. "错误
解决方式:
因spring Boot采取的java config,在配置spring security的位置添加:
@Override protected void configure(HttpSecurity http) throws Exception { http.headers().frameOptions().disable(); http .csrf().disable(); http .authorizeRequests() .anyRequest().authenticated(); http.formLogin() .defaultSuccessUrl("/platform/index",true) .loginPage("/login") .permitAll() .and() .logout() .logoutUrl("/logout"); http.addFilterBefore(wiselyFilterSecurityInterceptor(),FilterSecurityInterceptor.class); }
转载请说明 出处 谢谢!!!
==========2 ==========================
解决 Refused to display in a frame because it set 'X-Frame-Options' to 'deny'.问题
lizy928 2018-09-09 01:15:20 28596 收藏 2
分类专栏: 前端
版权
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");// 解决IFrame拒绝的问题
————————————————
版权声明:本文为CSDN博主「lizy928」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lizy928/article/details/82535089