web安全:x-frame-options(防止网页被嵌套)头配置

转自:https://blog.csdn.net/TivonaLH/article/details/86307278

1.写一个过滤器

public class RequestFilter implements Filter {
    private  final static Logger log=Logger.getLogger("RequestFilter");
    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        
    }
 
    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        HttpServletRequest req=(HttpServletRequest)request;
        HttpServletResponse res=(HttpServletResponse)response;
        String method = req.getMethod();
        
        res.setHeader("x-frame-options", "SAMEORIGIN"); //
 
        //执行下一个过滤器
        chain.doFilter(request, response);
    }
 
    @Override
    public void init(FilterConfig arg0) throws ServletException {
        // TODO Auto-generated method stub
        
    }
 
    
 
}
2.项目中web.xml配置过滤器

    <filter>
          <filter-name>RequestFilter</filter-name>
          <filter-class>com.jz.fw_easyui.ss.filter.RequestFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>RequestFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
3.x-frame-options默认有三个值

DENY

表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。

SAMEORIGIN

表示该页面可以在相同域名页面的 frame 中展示。

ALLOW-FROM

表示该页面可以在指定来源的 frame 中展示,即可以显示出URL

换一句话说,如果设置为 DENY,不光在别人的网站 frame 嵌入时会无法加载,在同域名页面中同样会无法加载。另一方面,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。
 

猜你喜欢

转载自blog.csdn.net/cxws110/article/details/92766937