為什麼CSRF攻擊會成功,一個重要的原因就是參數被攻擊者猜到了,就像前一篇介紹CSRF的文章,直接把要刪除的文章ID放到了參數裡。
那麼CSRF如何防禦?
驗證碼
驗證碼應該是最有效的手段,但是出於用戶體驗,應該少用。
referer
就像圖片的防盜鏈原理一樣,使用HTTP頭的referer就行了。
token
就是說,通過加密與隨機數生成一個用戶一個操作的token,服務器通過這個token來驗證,這個token的參數不應該能讓攻擊者猜到。
而且,token要避免放到地址欄,最好放到表單裡,以免洩露。
本文由ISMY博客發佈
閱讀更多 最後一個NPE 的文章