技術棧:SpringMVC + MyBatis + MySQL。涉及模組:登錄、個人信息修改、訂單詳情查詢。
風險:攻擊者繞過前端,直接對登錄介面暴力破解。
修復:後端務必強制校驗驗證碼,前端校驗僅作體驗優化。
風險:未登錄用戶可直接訪問受保護介面(/user/**, /admin/**)。
修復:配置 SpringMVC HandlerInterceptor,攔截 /user/**、/admin/** 路徑,未登錄重定向至登錄頁。
風險:用戶 A 登錄後,修改請求參數 userId=3000002,竄改用戶 B 資料(水平越權)。
修復:從 Session 獲取當前登錄用戶 ID,忽略前端傳遞的 ID,服務端以 Session 為準。
風險:用戶 A 登錄後,猜測/遍歷訂單 ID,查詢用戶 B 的訂單詳情(越權訪問)。
修復:查詢前驗證訂單創建人 ID 是否等於 Session 中的用戶 ID,不一致直接拒絕。
以上漏洞均為真實專案踩坑記錄,願與更多開發者共勉,歡迎交流更多安全實踐經驗。