`

Tomcat 配置“X-Frame-Options头”

阅读更多

Tomcat 配置“X-Frame-Options头”

【原理】 配置http的响应头信息:属性名X-Frame-Options。
可以配置的参数有两个:
1.DENY:浏览器拒绝当前页面加载任何Frame页面。
2.SAMEORIGIN:页面只能加载入同源域名下的页面。
3.ALLOW-FROM uri:只能被嵌入到指定域名的框架中。
一般选第二个参数就可以了。


方式一:每页面添加(太傻逼):

<% response.addHeader("x-frame-options","SAMEORIGIN");%>​​​​​​​

方式二:单个项目生效:
1.在src目录下建一个包,命名为filter。在包里建类名为FrameTao。内容如下:

  1.  
    package filter;
  2.  
     
  3.  
    import java.io.IOException;
  4.  
    import javax.servlet.Filter;
  5.  
    import javax.servlet.FilterChain;
  6.  
    import javax.servlet.FilterConfig;
  7.  
    import javax.servlet.ServletException;
  8.  
    import javax.servlet.ServletRequest;
  9.  
    import javax.servlet.ServletResponse;
  10.  
    import javax.servlet.http.HttpServletRequest;
  11.  
    import javax.servlet.http.HttpServletResponse;
  12.  
     
  13.  
    public class FrameTao implements Filter {
  14.  
     
  15.  
     
  16.  
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
  17.  
    //必须
  18.  
    HttpServletRequest request = (HttpServletRequest) req;
  19.  
    HttpServletResponse response = (HttpServletResponse) res;
  20.  
    //实际设置
  21.  
    response.setHeader("x-frame-options", "SAMEORIGIN");
  22.  
    //调用下一个过滤器(这是过滤器工作原理,不用动)
  23.  
    chain.doFilter(request, response);
  24.  
    }
  25.  
     
  26.  
    public void init(FilterConfig config) throws ServletException {
  27.  
    }
  28.  
     
  29.  
    public void destroy() {
  30.  
    }
  31.  
     
  32.  
    }

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

  1.  
    <!-- 设置Frame头,防止被嵌套 -->
  2.  
    <filter>
  3.  
    <filter-name>FrameFilter</filter-name>
  4.  
    <filter-class>filter.FrameTao</filter-class>
  5.  
    </filter>
  6.  
    <filter-mapping>
  7.  
    <filter-name>FrameFilter</filter-name>
  8.  
    <url-pattern>/*</url-pattern>
  9.  
    </filter-mapping>
  10.  
     

方式三:服务器(tomcat)上所有项目生效:
tomcat目录/conf/web.xml中的搜索httpHeaderSecurity配置(低版本不支持,需Tomcat 7.0.69以上),将其前面的注释去掉即可。

  1.  
    <filter-mapping>
  2.  
    <filter-name>httpHeaderSecurity</filter-name>
  3.  
    <url-pattern>/*</url-pattern>
  4.  
    <dispatcher>REQUEST</dispatcher>
  5.  
    </filter-mapping>
  1.  
    <filter>
  2.  
    <filter-name>httpHeaderSecurity</filter-name>
  3.  
    <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
  4.  
    <async-supported>true</async-supported>
  5.  
    // 以下为额外添加
  6.  
    <init-param>
  7.  
    <param-name>antiClickJackingEnabled</param-name>
  8.  
    <param-value>true</param-value>
  9.  
    </init-param>
  10.  
    <init-param>
  11.  
    <param-name>antiClickJackingOption</param-name>
  12.  
    <param-value>SAMEORIGIN</param-value>
  13.  
    </init-param>
  14.  
    </filter>

(复检)启动服务器。
打开火狐浏览器,打开你的此项目任一网页。
右键查看元素:

 

转自:https://blog.csdn.net/liangpingguo/article/details/86703284

 

 

分享到:
评论

相关推荐

    X-Frame-Options相关文件

    Tomcat是流行的Java应用服务器,可能会涉及到Web应用的安全配置,包括设置X-Frame-Options头来保护其服务。 3. **CntenHttpHeaderSecurityFilter.java** - 这看起来是一个Java过滤器,可能用于添加或检查HTTP响应头...

    X-Frame-Options未配置漏洞修复参考v1.0.docx

    为了防范这种攻击,网站管理员应该在服务器端配置X-Frame-Options头,指示浏览器是否允许页面在frame或iframe中显示。X-Frame-Options头有三种可能的值: 1. **DENY**:不允许任何域加载此页面,包括同一域下的页面...

    X-Frame-Options头缺失漏洞修复-esapi.zip

    X-Frame-Options头允许服务器告诉浏览器是否可以在 iframe 或 object 元素中加载页面。如果不设置此头部,攻击者就有可能利用这个漏洞将目标网站嵌入到他们的恶意网页中,从而实现点击劫持。通常,X-Frame-Options头...

    iis、apache、nginx使用X-Frame-Options防止网页被Frame的解决方法

    X-Frame-Options头提供了三种赋值方式: 1. DENY:不允许任何站点在frame或iframe中加载此页面,无论其来源如何。 2. SAMEORIGIN:只有同源(协议、域名和端口都相同)的页面才能在frame或iframe中显示。 3. ALLOW-...

    tomcat jar 包

    为了管理和配置Tomcat,用户可以编辑conf目录下的配置文件,如server.xml、web.xml等,这些文件定义了服务器的行为和设置。此外,通过管理界面(如Manager App)或命令行工具,可以进行应用的部署、更新和卸载。 ...

    tomcat httpHeaderSecurity.jar

    缺少X-Frame-Options头 缺少X-Content-Type-Options Header 未启用Web浏览器XSS保护 等的解决办法 在tomcat下的conf里的web.xml中增加以下过滤器 &lt;filter-name&gt;httpHeaderSecurity&lt;/filter-name&gt; &lt;filter-class&gt;...

    httpHeaderSecurity.jar

    描述中提到的“tomcat7配置Web安全漏洞 之 X-Frame-Options响应头”,暗示了在Tomcat 7版本中可能存在一个与Web安全相关的漏洞,而解决这个问题的关键在于正确配置HTTP的X-Frame-Options响应头。X-Frame-Options头...

    Apache2.4 + tomcat + https部署配置文件

    最近做一个项目应用到了Apache要在tomcat下部署并且开启https 涉及到大量的配置文件,具体可以从附件中下载案例,主要内容有: 1、目标URL存在http host头攻击漏洞 ...4、点击劫持:X-Frame-Options

    IDEA操作手册

    - 找到合适的IDEA安装包(如IDEA2017),根据个人电脑配置(例如X64系统)进行安装。 - 安装完成后,在IDEA安装目录下的`bin`目录内找到`idea.exe.vmoptions`和`idea64.exe.vmoptions`两个文件。 - 在这两个文件...

    idea热部署(更新代码不用重启tomcat).docx

    - 在弹出的窗口中选择需要配置的应用服务器,如Tomcat Server。 - 在右侧的配置面板中找到“Deployment”标签页。 - 选中“Application context”,并设置一个合适的上下文路径。 - 选择“Deployment options”...

    idea简单使用说明

    配置Tomcat服务器可以帮助开发者在IDEA中直接运行和调试Web应用。配置步骤如下: - 进入`Build, Execution, Deployment &gt; Application Servers`。 - 点击`+`添加新的服务器,选择Tomcat并指定Tomcat的安装目录。 - ...

    spring security 参考手册中文版

    20.1.5 X-Frame-Options 163 20.1.6 X-XSS保护 164 20.1.7内容安全策略(CSP) 165 配置内容安全策略 166 其他资源 168 20.1.8推荐人政策 168 配置引用者策略 169 20.2自定义标题 169 20.2.1静态头 169 20.2.2标题...

    Web安全实验环境——WebGoat

    8. **HTTP头部安全**:理解如何设置正确的HTTP头部来增强应用的安全性,例如Content-Security-Policy和X-Frame-Options。 通过实践WebGoat中的各种攻击,你不仅可以提升自己的安全意识,还能学习如何在实际项目中...

    JSF安全验证

    9. **防止点击劫持**:使用HTTP响应头`X-Frame-Options`来防止点击劫持攻击,阻止恶意网站在IFrame中加载你的JSF页面。 10. **使用CDI(Contexts and Dependency Injection)**:CDI可以更好地管理对象的生命周期和...

Global site tag (gtag.js) - Google Analytics