2010-04-17 107 views
0

我們當前的web應用程序url揭示了最終用戶的類包結構。這是因爲在web.xml中的servlet映射標籤如下 Servlet_名 /servlet/com.xxx.yyy.ClassName 在url中隱藏java包結構

有沒有什麼辦法讓我可以隱藏封裝結構。即com.xxx.yyy.ClassName只是ClassName?

感謝 長Sameer

+0

不是Java人,但也許是某種查找表? MySupaLib = com.lib.my.Supa – David 2010-04-17 16:53:12

回答

1

這是recognizeable如Tomcat的內置InvokerServletold and vulrenable feature。要解決此問題,請在Tomcat的/conf.web.xml中通過刪除或取消註釋與<servlet-name>invoker</servlet-name>關聯的<servlet><servlet-mapping>條目來禁用它。

這是古代Tomcat版本中的一個安全漏洞,並且在Tomcat 5及更高版本中被修復,並且在其中已被棄用且默認禁用。它將在Tomcat 7中刪除。

您需要明確定義webapp的web.xml中的所有servlet以及合適的url-pattern。如果您有相當多的servlet,請考慮前端控制器模式,即僅根據每個請求方法,請求URI,請求路徑信息等委託並執行所需業務邏輯的一個servlet。

0

是。修復您的web.xml網址映射。

如果出於某種奇怪的原因,這是不可能的,你可以在前面加此過濾器重寫網址:

http://tuckey.org/urlrewrite/