tft每日頭條

 > 圖文

 > 允許跨域代碼

允許跨域代碼

圖文 更新时间:2024-06-29 16:08:58

最近在一個項目中,使用<iframe>标簽引用另一個項目站點的頁面時,提示"Refused to display 'http://localhost:8090/' in a frame because it set 'X-Frame-Options' to 'sameorigin'."。這是引用資源X-Frame-Options響應頭配置導緻的。

允許跨域代碼(跨域問題itset)1

允許跨域代碼(跨域問題itset)2

SAMEORIGIN

X-Frame-Options

X-Frame-Options HTTP 響應頭是用來給浏覽器指示允許一個頁面可否在 <frame>,</iframe> 或者 <object> 中展現的标記。網站可以使用此功能,來确保自己網站的内容沒有被嵌套到别人的網站中去,也從而避免了點擊劫持 (ClickJacking) 的攻擊。

一般有三個參數:

  1. DENY:表示該頁面不允許在frame中展示,即便是在相同域名的頁面中嵌套也不允許;
  2. SAMEORIGIN:表示該頁面可以在相同域名頁面的frame中展示;
  3. ALLOW-FROM uri:表示該頁面可以在指定來源的frame中展示。

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>

允許跨域代碼(跨域問題itset)3

ALLOW-FROM

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved