3

Liferayを使用すると、それに応じてポータルについて常に説明されます。

Liferay-Portal:Liferay Portal Community Edition 6.1.0 CE (Paton / Build 6100 / January 6, 2012)
Server:GlassFish Server Open Source Edition 3.1.1

これらの情報を削除するにはどうすればよいですか?

4

3 に答える 3

3

HttpServletResponseオブジェクトに追加されたヘッダーを削除する方法はありません。この問題を処理する唯一の方法は、Wrapping the HttpServletResponseオブジェクトを使用してFilter、無視したいヘッダーを食べることです。

使用するサンプルコードは次のとおりです。

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()
   {
   }
}
于 2012-06-13T10:32:05.520 に答える
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

于 2013-03-22T17:20:18.720 に答える
2

Rameshは正しいですが、これは純粋なサーブレットの実装です。インターフェースを確認してくださいcom.liferay.portal.kernel.servlet.WrapHttpServletResponseFilter。同じ目的で提供されます。ポートレットコンテキストで機能します。

于 2012-06-13T11:23:18.720 に答える