日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Tomcat部署iframe出現Refused to display ‘url‘ in a frame because it set ‘X-Frame-Options‘ to ‘deny‘無法訪問問題

作者:清如許. 更新時間: 2022-06-08 編程語言

在Linux下部署帆軟報表項目的時候,使用Tomcat服務器獨立部署,部署完成之后發現iframe嵌入的頁面無法打開訪問,報錯Refused to display ‘url’ in a frame because it set ‘X-Frame-Options’ to 'deny’
在這里插入圖片描述

使用iframe嵌入網頁,瀏覽器報錯:Refused to display ‘url’ in a frame because it set ‘X-Frame-Options’ to ‘deny’。
這是SpringSecurity 防止惡意注入,所以設置了 X-Frame-Options 為deny,網上看到是 加入 httpSecurity.headers().frameOptions().disable();

參考地址:https://www.jianshu.com/p/fd757a0dbdb4

但是我使用的是Tomcat部署,在tomcat 點擊劫持:X-Frame-Options未配置。

詳細描述
點擊劫持(ClickJacking)是一種視覺上的欺騙手段。攻擊者使用一個透明的、不可見的iframe,覆蓋在一個網頁上,然后誘使用戶在該網頁上進行操作,此時用戶將在不知情的情況下點擊透明的iframe頁面。通過調整iframe頁面的位置,可以誘使用戶恰好點擊在iframe頁面的一些功能性按鈕上。
HTTP 響應頭信息中的X-Frame-Options,可以指示瀏覽器是否應該加載一個 iframe 中的頁面。如果服務器響應頭信息中沒有X-Frame-Options,則該網站存在ClickJacking攻擊風險。網站可以通過設置 X-Frame-Options 阻止站點內的頁面被其他頁面嵌入從而防止點擊劫持。

解決辦法

修改web服務器配置,添加X-Frame-Options響應頭。賦值有如下三種:

  • 1、DENY:不能被嵌入到任何iframe或者frame中。
  • 2、SAMEORIGIN:頁面只能被本站頁面嵌入到iframe或者frame中。
  • 3、ALLOW-FROM uri:只能被嵌入到指定域名的框架中。

在tomcat下的conf里的web.xml中增加以下過濾器

<filter>
  <filter-name>httpHeaderSecurity</filter-name>
  <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
  <init-param>
    <param-name>antiClickJackingEnabled</param-name>
    <param-value>true</param-value>
  </init-param>
  <init-param>
    <param-name>antiClickJackingOption</param-name>
    <param-value>SAMEORIGIN</param-value>
  </init-param>
  <async-supported>true</async-supported>
</filter>
<filter-mapping>
  <filter-name>httpHeaderSecurity</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

經測試,配置之后問題已解決。

來自井底的蛙,也一直在仰望星辰大海啊~~

原文鏈接:https://blog.csdn.net/MacWx/article/details/124186789

欄目分類
最近更新