2012-06-13 51 views

回答

3

無法刪除添加到HttpServletResponse對象的標頭。處理這個問題的唯一方法是使用FilterWrapping the HttpServletResponse對象,並吃掉你想要忽略的標題。

下面是示例代碼使用,

public class EatHeadersFilters implements Filter 
{ 
    private List<String> headers; 
    public void init(FilterConfig filterConfig) throws ServletException 
    { 
     String headersString = filterConfig.getInitParameter("headers"); 
     String[] strings = headersString.split(","); 
     headers = Arrays.asList(strings); 
    } 

    public void doFilter(ServletRequest request, ServletResponse response, 
     FilterChain filterChain) throws IOException, ServletException 
    { 
     filterChain.doFilter(request, 
      new HttpServletResponseWrapper((HttpServletResponse) response){ 
       public void addHeader(String headerName, String headerValue) 
       { 
        if(!headers.contains(headerName)){ 
        super.addHeader(headerName, headerValue); 
        } else { 
        //eat the header 
        } 
       } 
     }); 
    } 

    public void destroy() 
    { 
    } 
} 
+0

如果我想從所有門戶網站刪除? – test1604

+0

編輯我的答案,請檢查。 –

2

拉梅什是正確的,但是這是純粹的Servlet實現。請檢查界面com.liferay.portal.kernel.servlet.WrapHttpServletResponseFilter。它是由相同的目的提供的。它將在Portlet上下文中工作。

+1

我可以使用門戶網站配置嗎?沒有編程? – test1604

+0

你可以,但功能有限。請看看http://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/http-header-response –

+0

謝謝你的回答,你能描述一下我可以如何使用我的新創建的類實現過濾器,用於捕獲所有響應? – test1604

2

您可以使用下面的鍵portal-ext.properties,只顯示應用程序名稱和版本(如社區)

http.header.version.verbosity=partial 

這不應該顯示特定版本。

原始資源在http://arunkumarsrm.blogspot.com/2012/11/liferay-611-ga2-application-security.html

發現你也可以進一步檢查以下票證來與所提供的補丁熟悉(我還沒有嘗試過)

http://issues.liferay.com/browse/LPS-2748

http://issues.liferay.com/browse/LPS-9011

* UPD:*其實您可以完全禁用以下選項的服務器信息:

# portal-ext.properties: 
http.header.version.verbosity=Liferay Portal Community Edition 

和下面的配置在/tomcat-7.0.27/conf/server.xml

<Connector 
    URIEncoding="UTF-8" 
    connectionTimeout="20000" 
    port="8080" 
    protocol="HTTP/1.1" 
    redirectPort="8443" 
    server="My Server!" 
/> 

資源:http://tech-annex.blogspot.com/2013/01/hidding-server-signaturebanner.html