配置http的響應頭信息:屬性名X-Frame-Options。


原文鏈接:https://blog.csdn.net/xp_lx1/article/details/80676630

 

 

可以配置的參數有兩個:

X-Frame-Options 響應頭有三個可選的值:
DENY:頁面不能被嵌入到任何iframe或frame中;
SAMEORIGIN:頁面只能被本站頁面嵌入到iframe或者frame中;
ALLOW-FROM:頁面允許frame或frame加載。

在服務端設置的方式如下:

Java代碼:
response.addHeader("x-frame-options","SAMEORIGIN");
Nginx配置:
add_header X-Frame-Options SAMEORIGIN
Apache配置:
Header always append X-Frame-Options SAMEORIGIN

一般選第二個參數就可以了。

 

【步驟】

1.在src目錄下建一個包,命名為filter。在包里建類名為FrameTao。內容如下:

 

package filter;
 
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class FrameTao implements Filter {
 
 
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
    //必須
        HttpServletRequest request = (HttpServletRequest) req;  
        HttpServletResponse response = (HttpServletResponse) res;  
        //實際設置
    response.setHeader("x-frame-options", "SAMEORIGIN");  
    //調用下一個過濾器(這是過濾器工作原理,不用動)
    chain.doFilter(request, response);
    }  
 
    public void init(FilterConfig config) throws ServletException {
    }
    
    public void destroy() {
    }
    
}

 

2.在web.xml文件下添加以下內容:

<!-- 設置Frame頭,防止被嵌套 -->
<filter>  
    <filter-name>FrameFilter</filter-name>  
    <filter-class>filter.FrameTao</filter-class>  
</filter>  
<filter-mapping>  
    <filter-name>FrameFilter</filter-name>  
    <url-pattern>/*</url-pattern>
</filter-mapping>  

 

3.啟動服務器。

打開火狐瀏覽器,打開你的此項目任一網頁。

右鍵查看元素:

怎么樣,是不是成功啦?

這樣瀏覽器就明白,你的網頁不允許被陌生人嵌套、操作了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM