最近在一個項目中,使用<iframe>标簽引用另一個項目站點的頁面時,提示"Refused to display 'http://localhost:8090/' in a frame because it set 'X-Frame-Options' to 'sameorigin'."。這是引用資源X-Frame-Options響應頭配置導緻的。
SAMEORIGIN
X-Frame-Options
X-Frame-Options HTTP 響應頭是用來給浏覽器指示允許一個頁面可否在 <frame>,</iframe> 或者 <object> 中展現的标記。網站可以使用此功能,來确保自己網站的内容沒有被嵌套到别人的網站中去,也從而避免了點擊劫持 (ClickJacking) 的攻擊。
一般有三個參數:
Tomcat配置X-Frame-Options
在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>
<init-param>
<param-name>blockContentTypeSniffingEnabled</param-name>
<param-value>false</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
若允許跨域訪問,需要修改antiClickJackingOption值:
<init-param>
<param-name>antiClickJackingOption</param-name>
<param-value>ALLOW-FROM</param-value>
</init-param>
<init-param>
<param-name>antiClickJackingUri</param-name>
<param-value>*</param-value>
</init-param>
ALLOW-FROM
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!