檢測到錯誤頁面web應用伺服器版本資訊洩露
阿新 • • 發佈:2019-01-21
比方說我現在訪問:http://localhost:8080/pages/xx.jsp,應該會報404,沒有該頁面,但是會顯示出所用伺服器的資訊:
所以為了避免產生此類漏洞個,應該對錯誤進行處理,在web.xml新增對相應的錯誤頁面:
<!-- 預設的錯誤處理頁面 --> <error-page> <error-code>403</error-code> <location>/pages/403.html</location> </error-page> <error-page> <error-code>404</error-code> <location>/pages/404.html</location> </error-page> <!-- 僅僅在除錯的時候注視掉,在正式部署的時候不能註釋 --> <!-- 這樣配置也是可以的,表示發生500錯誤的時候,轉到500.jsp頁面處理。 --> <error-page> <error-code>500</error-code> <location>/pages/500.html</location> </error-page>
但是這樣,並沒有正常處理異常錯誤:
No mapping found for HTTP request with URI [/pages/405.html] in DispatcherServlet with name 'springMVC'
當你在control中返回一個路徑的時候,它又把路徑(/view/index.jsp)當作一個請求被dispatcherServlet所攔截。所以會丟擲異常,解決的辦法有兩個:第一即使讓dispatcherServlet的攔截加上字尾如:*.do;
這樣以jsp字尾的就不會別攔截了。
第二個方法是在spring-servlet.xml中加入:
<mvc:default-servlet-handler/>
修改配置檔案後,再次訪問: