不完全有信心我已經理解了Laravel形式的安全性。例如,如果表單包含 <input type="hidden" name="user_id">
那麼顯然黑客可以在提交更新之前更改該值。 雖然我在CSRF看了here,但我還沒有完全理解這是否足夠的保護?Laravel 5/Form安全(需要澄清)
E.g.考慮到上述情況,如果我訪問網站並打開表單以編輯記錄,我可以查看但不能更改,並惡意更改「user_id」,表單是否受{{ csrf_field() }}
保護或我必須僱用一些進一步的安全性,如Crypt::encrypt($id)
隱藏user_id(保存在數據庫中)和Crypt::decrypt($id)
?
在客戶端瀏覽器中顯示行標識(如用戶標識)是否被認爲是不良做法(即使所有內容都是通過https發送的)?
很多謝謝
csrf並沒有真正幫助您提及的特定情況。你想要做的是檢查後端是否正在發送的ID是否與您所期望的相同。 您也可以對該用戶標識進行編碼,然後在後端對其進行解碼。 全部取決於你實際想要達到的目標嗎? – matiit
在這裏,https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)閱讀了解csrf是什麼以及csrf令牌會爲你辯護。 – matiit
如果'user_id'字段不會被用戶*和*在表單中看不到,爲什麼發送給客戶端?將'user_id'服務器端放在SESSION上,而不是客戶端上。 – ThoriumBR