根据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”
不知道如何解决它,非常感谢任何帮助。
答案 0 :(得分:0)
1)将以下条目添加到您的应用程序web.xml
。
<context-param>
<param-name>com.sun.faces.sendPoweredByHeader</param-name>
<param-value>false</param-value>
</context-param>
2)我认为您不需要任何过滤器来覆盖此标头(基于jboss文档)。