我目前有一個問題,即actionform的validate方法發生在action的execute方法之前。Struts 1.2 ActionForms&isTokenValid CSRF
這是一個問題,原因是用戶可以提交自己的請求,並且他們應該已經完成所有必填字段驗證通過並使用isTokenValid(request)方法我可以看到請求無效。並將它們轉發到「拒絕訪問」頁面。但是,如果他們沒有完成僞造請求中的所有必填字段,則validate方法將返回錯誤,並將其轉發給顯示錯誤消息的實際頁面(.jsp)。
任何想法如何防止這種情況?
爲什麼他們可以得到他們沒有在所有訪問的頁面?無論如何,有幾種選擇,但它取決於當前的應用程序流程,例如,您是使用身份驗證過濾器,自定義請求處理器,「手動」驗證還是通過默認請求處理器進行驗證等。 –
我正在實施CSRF保護。所以用戶會登錄,他們會不小心從惡意網站發起請求。大多數請求通過使用isTokenValid來阻止,但是由於驗證在觸發操作之前失敗,它將轉發到.jsp而不是訪問被拒絕的頁面。注意這可能實際上並不危險,因爲發生的所有事情都是用戶轉發到頁面,而不是惡意的人本身,但仍然希望阻止。我是struts新手,但使用actionForm的驗證方法和海關邏輯。 –