tomcat設置X-Frame-Option

1. 若是tomcat的lib目錄下的catalina.jar中有org.apache.catalina.filters.HttpHeaderSecurityFilterjava

Apache tomcat 7.0.90 和 tomcat 8以上都有HttpHeaderSecurityFilter

能夠在tomcat下的conf裏的web.xml中增長如下過濾器web

<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>

 2. 若是沒有HttpHeaderSecurityFilter,須要本身寫過濾器,添加以下代碼,本身在項目中配置攔截。apache

HttpServletResponse response = (HttpServletResponse) sResponse;
response.addHeader("x-frame-options","SAMEORIGIN");

X-Frame-Options 有三個值:tomcat

DENYapp

表示該頁面不容許在 frame 中展現,即使是在相同域名的頁面中嵌套也不容許。async

SAMEORIGIN網站

表示該頁面能夠在相同域名頁面的 frame 中展現。url

ALLOW-FROM urispa

表示該頁面能夠在指定來源的 frame 中展現。code

換一句話說,若是設置爲 DENY,不光在別人的網站 frame 嵌入時會沒法加載,在同域名頁面中一樣會沒法加載。

另外一方面,若是設置爲 SAMEORIGIN,那麼頁面就能夠在同域名頁面的 frame 中嵌套。

相關文章
相關標籤/搜索