java - x-power-by 在响应 header 中显示

标签 java security jboss

根据 Web 应用程序的安全性,x-power-by 在响应 header 中显示时应设置为空。 在我们的应用程序中,我们通过实现过滤器来做到这一点。

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
            ServletException {
    // App specific logic...
    HttpServletResponse httpResponse = (HttpServletResponse) response;
    httpResponse.setHeader("X-Powered-By","");
    chain.doFilter(request, response);
 httpResponse.setHeader("X-Powered-By"," ");
}

当点击 URL 时,它在 x-power-by 的响应 header 中显示空白值,这很好,但在我们的应用程序中,当我们点击 URL 并附加查询字符串时,它会显示第一个请求:

x-power-by= JSF1.2

我们还在 web.xml 中注释掉了 x-power-by 的以下部分,因为我们的应用程序使用 jboss 5.0.1。

<filter>
      <filter-name>CommonHeadersFilter</filter-name>
      <filter-class>
         org.jboss.web.tomcat.filters.ReplyHeaderFilter</filter-class>
         <!--
      <init-param>
         <param-name>X-Powered-By</param-name>
         <param-value>Servlet 2.5; JBoss-5.0/JBossWeb-2.1</param-value>
      </init-param>
      -->
   </filter>

但是,完成上面提到的所有两件事后,当我第一次点击附加查询字符串的 URL 时,我会在响应 header 中显示 x-power-by。

网址如: https://example.com?html= "abcd",p_ab="shdhsgdhs"

不知道如何解决,非常感谢任何帮助。

最佳答案

1) 将以下条目添加到您的应用程序 web.xml 中。

<context-param> 
<param-name>com.sun.faces.sendPoweredByHeader</param-name> 
<param-value>false</param-value> 
</context-param>

2)我认为您不需要任何过滤器来覆盖此 header (基于 jboss 文档)。

关于java - x-power-by 在响应 header 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36433521/

相关文章:

java - maven-jacoco-插件 : Build fails after adding class excluding

java - Wildfly 未安装所需的服务 :\

java - 类的实现和参数

java - 列出具有条件的联接表

java - 在单个 java 线程中启用多个安全管理器

security - .pem 文件是否同时包含私钥和公钥?

vb.net - 在 vb.net 中安全地存储敏感数据的位置

缺少 JBoss 作为客户端 5.1.0.GA 存储库

java - 使用Tika 1.10 Parser获取文件内容

java - 在 Elastic Search 中对聚合字段(例如平均分数)执行范围过滤器