1. 程式人生 > >在 Flask 項目中解決 CSRF 攻擊

在 Flask 項目中解決 CSRF 攻擊

存在 hub 個人 自然 是什麽 直接 ... bubuko image

#轉載請留言聯系

1. CSRF是什麽?

  • CSRF全拼為Cross Site Request Forgery,譯為跨站請求偽造。
  • CSRF指攻擊者盜用了你的身份,以你的名義發送惡意請求。包括:以你名義發送郵件,發消息,盜取你的賬號,甚至於購買商品,虛擬貨幣轉賬......
  • 造成的問題:個人隱私泄露以及財產安全。

2.CSRF攻擊示意圖

技術分享圖片

原理其實很簡單。舉個簡單的例子。A是一個很有錢的人,B是專門幫人托管錢的人,相當於銀行的角色,C是偷竊者。A和B約定,有人叫你給錢你就給錢。A把錢放在B那裏。平時A就去問B拿錢,B就直接給錢給他。某一天,C也問一下B拿錢,B也直接給錢給C了,C這時候就相當於偷了A的錢。這就是csrf的攻擊原理。

解決辦法的原理也很簡單,就是A和B約定一下暗號,C來問B拿錢時,對不上暗號,自然就拿不到錢了。

3.代碼

(1)模擬CSRF攻擊

(2)阻止CSRF攻擊

(3)用 flask 的flask_wtf 模板實現阻止 CSRF 攻擊

代碼可以保存在:https://github.com/chichungceng/CSRF

在 Flask 項目中解決 CSRF 攻擊