SpringMVC攔截器攔截不到的uri怎么處理?


這次項目中遇到一個平時沒有注意的問題,那就是SpringMVC的攔截器。

<mvc:mapping path="/**"/>

這個配置大家應該很熟悉了,這個配置會攔截所有匹配/**的請求,
例如 http://localhost:8080/xx, http://localhost:8080/xx/xx, http://localhost:8080/yy/xx/aa

但是 對於這樣的請求會攔截嗎?http://localhost:8080/xx/ http://localhost:8080/xx/xx/


不會,對於所有以/結尾的請求 他是攔截不到的,那么這樣子對於用戶來說,如果某些用戶惡意發送這樣的請求,可能會引起反射型xss攻擊。


尤其是 當項目引用了velocity技術時, 發送這樣的請求,這樣的請求會經過velocityviewservlet,然后會被catch到找不到資源的異常,
然而這個異常不會被拋出來,而是直接被reponse出頁面上 導致系統里的統一異常處理 不起作用。

那么這樣的請求 我們應該怎么去攔截掉呢?

這邊我選擇了 filter 在filter里面 對於所有"/"結果的請求 做一個非法請求的處理。 解決了這個問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM