响应头中的x-power-by显示

时间:2016-04-05 17:49:38

标签: java security jboss

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

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的响应头显示空白值,这很好,但是在我们的应用程序中,当我们点击带有查询字符串的URL时,附加了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时,在响应标题中显示x-power-by。

网址如: https://example.com?html= “ABCD”,p_ab = “shdhsgdhs”

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

1 个答案:

答案 0 :(得分:0)

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

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

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