
概念
CSRF全稱即Cross Site Request forgery,跨站點請求偽造,攻擊者通過跨站點進行偽造用戶的請求進行合法的非法操作,其攻擊手法是通過竊取用戶cookie或服務器session獲取用戶身份,在用戶不知情的情況下在攻擊者服務器模擬偽造用戶真實的請求,
防御手段
既然是跨站點攻擊,所以防御的手段無非是識別請求的來源是否合法,
防御的手段一般有:
1、檢查referer
referer是http header的請求頭屬性,標識了請求的來源地址,通過檢查這個屬性可以判斷請求地址是否合法域名,很多網站的防盜鏈功能就是這么做的,如果不是本站的域名請求就拒絕其鏈接,或者回傳一個不允許在外站顯示的公共圖片,
2、檢查表單token
在跳轉到每個表單時,每次都隨機生成一個不固定的token值用于回傳驗證,所以如果是用戶正常提交的話肯定會包含這個值,而這個值不存在cookie中攻擊者拿不到這個值,自然提交的請求是不合法的,如果不使用cookie的前提下也可以設定cookie為httpOnly禁止腳本獲取到cookie資訊,
3、檢查驗證碼
使用驗證碼,簡單粗暴,判斷請求的驗證碼是否但用戶體檢會非常差,用戶不希望所有的操作都要輸入驗證碼,所以,不是非常重要的環節建議不要使用驗證碼,
關注公眾號Java技術堆疊回復"面試"獲取我整理的2020最全面試題及答案,
推薦去我的博客閱讀更多:
1.Java JVM、集合、多執行緒、新特性系列教程
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
4.Java、后端、架構、阿里巴巴等大廠最新面試題
覺得不錯,別忘了點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/142951.html
標籤:Java
上一篇:springboot2啟動資訊去除CONDITIONS EVALUATION REPORT后引發的思考
下一篇:Python基礎-06字典
