方式一:可以通過驗證碼的手段,因為驗證碼是直接發到使用者的手裡,所以黑客破解的成功性不大
方式二:在沒有驗證碼的年代,可以通過生成隨機的token來校驗**是否正確
步驟在客戶端向後端請求介面資料的時候,後端會往響應中的 cookie 中設定 csrf_token(隨機變化) 的值
在 form 表單中新增乙個隱藏的的字段,值也是 csrf_token
在使用者點選提交的時候,會帶上這兩個值向後台發起請求
後端接受到請求,以會以下幾件事件:
如果比較之後兩值一樣,那麼代表是正常的請求,如果沒取到或者比較不一樣,代表不是正常的請求,不執行下一步操作
可能有的人會問,把這麼重要的csrf_token放到cookie裡不是很不安全嗎,隨便乙個f12就可以看到cookie,黑客獲取cookie不照樣可以模擬使用者的行為嗎
注:因為同源策略,即協議,網域名稱,埠都相同的情況下為同源,瀏覽器帶有同源策略,在沒有明確授權的前提下,不同源之間不能進行資源訪問,也就是說釣魚**無法拿到原始**的cookie,模擬不了業務處理,這也是為什麼我們要把csrf_token放到cookie中,確保**業務處理時的安全
跨站請求偽造 CSRF
跨站請求偽造 csrf 顧名思義就是在其他非法 呼叫了正常 的介面,攻擊的方法是在頁面中包含惡意 或者鏈結,攻擊者認為被攻擊的使用者有權訪問另乙個 如果使用者在那個 的會話沒有過期,攻擊者就能執行未經授權的操作。大多數 rails 程式都使用 cookie 儲存會話,可能只把會話 id 儲存在 co...
CSRF跨站請求偽造
前面說到xss跨站指令碼攻擊,現在來個複雜度更高一點的csrf跨站請求偽造 首先說一下rsrf的幾個要點 1.rsrf是通過各種方法 站內發布鏈結,qq郵箱發布鏈結等 讓登入使用者觸發請求,在使用者不覺察的過程中對使用者資料進行篡改,進而實現攻擊 2.通過xss可以獲取到使用者的session id...
CSRF 跨站請求偽造
csrf cross site request forgery 中文是跨站請求偽造。csrf攻擊者在使用者已經登入目標 之後,誘使使用者訪問乙個攻擊頁面,利用目標 對使用者的信任,以使用者身份在攻擊頁面對目標 發起偽造使用者操作的請求,達到攻擊目的。舉個列子 假如a站為受信任的銀行 其中有個銀行轉賬...