flask csrf保護的使用技巧

2021-08-09 10:14:46 字數 1042 閱讀 4443

網上關於csrf攻擊的乙個最典型的例子是銀行通過url+引數轉錢的問題,很好理解。

flask 作為乙個強帶的web微框架,自然也是支援防範csrf攻擊的。

簡單說來,使用它可以方便我們構建表單和驗證表單,具體用法這裡不做贅述

極少的配置,乙個應用令牌:

或csrf專用令牌

flask-wtf預設是開啟csrf保護的,你需要的做的是在你的模板中表單一欄加入:

}

或者}

這樣,csrf保護已經開啟。如若你沒有上面的**,提交表單會無法通過form.validate_on_submit(),錯誤為,但這並不會導致http錯誤,僅是無法通過驗證。

自然,我們很可能有的表單不需要保護,那麼,以下三種:

單個表單禁用:生成表單時加入引數form = form(csrf_enabled=false)不使用flask-wtf…啊啊,這個很好理解

有些時候,我根本就用不到flask-wtf,那麼我可以使用flask自身提供的保護機制。

要開啟csrf攻擊保護,需要一下幾個步驟。

from flask_wtf.csrf import csrfprotect
主要為:匯入方法,設定金鑰,進行保護。

這時候對於乙個普通的form,如果你沒有

type="hidden"

name="csrf_token"

value="}" />

flask會丟擲http錯誤。

那麼,如何臨時關閉csrf保護呢。

上面的**做修改:

改為 csrf = csrfprotect()

if __name__ == '__main__':中加入

在不需要保護的路由上當加上:

@csrf.exempt

如此,臨時關閉了csrf。

Flask CSRF保護的使用技巧

網上關於csrf攻擊的乙個最典型的例子是銀行通過url 引數轉錢的問題,很好理解。flask 作為乙個強帶的web微框架,自然也是支援防範csrf攻擊的。簡單說來,使用它可以方便我們構建表單和驗證表單,具體用法這裡不做贅述 極少的配置,乙個應用令牌 或csrf專用令牌 flask wtf預設是開啟c...

Flask CSRF保護(十一)

flask使用 flask wtf 模組提供的 csrfprotect物件開啟csrf防護,方法如下 from flask import flask from flask wtf.csrf import csrfprotect 在頭部或底部增加下列 meta name csrf token cont...

execute immediate的使用技巧

使用技巧 1.execute immediate將不會提交乙個dml事務執行,應該顯式提交 假如通過execute immediate處理dml命令,那麼在完成以前需要顯式提交或者作為execute immediate自己的一部分.假如通過execute immediate處理ddl命令,它提交所有...