我們當前的web應用程序url揭示了最終用戶的類包結構。這是因爲在web.xml中的servlet映射標籤如下 Servlet_名 /servlet/com.xxx.yyy.ClassName 在url中隱藏java包結構
有沒有什麼辦法讓我可以隱藏封裝結構。即com.xxx.yyy.ClassName只是ClassName?
感謝 長Sameer
我們當前的web應用程序url揭示了最終用戶的類包結構。這是因爲在web.xml中的servlet映射標籤如下 Servlet_名 /servlet/com.xxx.yyy.ClassName 在url中隱藏java包結構
有沒有什麼辦法讓我可以隱藏封裝結構。即com.xxx.yyy.ClassName只是ClassName?
感謝 長Sameer
這是recognizeable如Tomcat的內置InvokerServlet
的old 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。
不是Java人,但也許是某種查找表? MySupaLib = com.lib.my.Supa – David 2010-04-17 16:53:12