in a frame because it set 'X-Frame-Options' to 'sameorigin'.

今天项目中出现一个用iframe嵌套帆软报表页面出现Refused to display in a frame because it set ‘X-Frame-Options’ to ‘SAMEORIGIN’
于是就记录下来。
百度了很久,大致分为

X-Frame-Options是什么?
X-Frame-Options是一个HTTP标头(header),用来告诉浏览器这个网页是否可以放在iFrame内。例如:

X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM http://caibaojian.com/

第一个例子告诉浏览器不要(DENY)把这个网页放在iFrame内,通常的目的就是要帮助用户对抗点击劫持。

第二个例子告诉浏览器只有当架设iFrame的网站与发出X-Frame-Options的网站相同,才能显示发出X-Frame-Options网页的内容。

第三个例子告诉浏览器这个网页只能放在http://caibaojian.com//网页架设的iFrame内。
那我们出现了这个怎么办?
百度到的解决方案为:


这个是不可以实现的,所以不用试了。
还有在java代码中加入这个的

@RequestMapping(“/index”) 
public String index(HttpServletResponse response){ 
response.addHeader(“x-frame-options”,”SAMEORIGIN”); 
return “manager/index”; 
}

还是不行,最终的解决方案是去帆软报表的服务器上面把安全设置里面的X-Frame-Options关掉了才解决,开始想着翻越过这个问题,最终发现这个是安全机制,翻越不了。
我是张同学,记录下工作中出现的问题。
不积跬步,无以至千里;不积小流,无以成江海。

你可能感兴趣的:(Java)