flask提交表單驗證不通過,以及CSRF攻擊原理

2022-03-29 07:18:59 字數 866 閱讀 9023

提交表單時怎麼都無法驗證通過

記錄一下,自己的學習bug,主要是因為在模板中書寫渲染的語句時,把csrf的欄位名寫錯了。

因為在模板中書寫一些語句是沒有提示的,自己手動敲**容易出現變數值錯誤。

原本我寫的是這樣的。

}

正確的應該是

}

flask-wtf的表單驗證方法form.validate_on_submit()會對進行csrf驗證,如果上面**寫錯相當於沒有進行渲染該欄位,那麼flask-wtf在驗證表單簽名時就會一直不通過。

簡介

csrf(cross site request forgery,跨站請求偽造)是一種近年來才逐漸被大眾了解的網路攻擊方式,又被稱為one-click attack或session riding。在owasp上一次(2013)的top 10 web程式安全風險中,它位列第8。隨著大部分程式的完善,各種框架都內建了對csrf保護的支援,但目前仍有5%的程式受到威脅。

(1)攻擊原理

csrf攻擊的大致方式如下:某使用者登入了a**,認證資訊儲存在cookie中。當使用者訪問攻擊者建立的b**時,攻擊者通過在b**傳送乙個偽造的請求提交到a**伺服器上,讓a**伺服器誤以為請求來自於自己的**,於是執行相應的操作,該使用者的資訊便遭到了篡改。總結起來就是,攻擊者利用使用者在瀏覽器中儲存的認證資訊,向對應的站點傳送偽造請求。在前面學習cookie時,我們介紹過使用者認證通過儲存在cookie中的資料實現。在傳送請求時,只要瀏覽器中儲存了對應的cookie,伺服器端就會認為使用者已經處於登入狀態,而攻擊者正是利用了這一機制。

更改validate預設的驗證不通過提示資訊位置

一 問題描述 使用validate外掛程式校驗表單資訊時,當校驗不通過顯示的提示資訊預設是追加在被驗證物件之後的,不美觀。示例 二 原因分析 validate外掛程式預設的顯示位置。三 解決措施 1 在validate json資料格式 裡面的json資料格式的rules messages後,增加同...

okhttp使用心得 https驗證不通過 (一)

之前專案使用的是okhttp3.4版本的,tls協議支援1.0 1.2 等等 後來換成okhttp3.8.1,發現握手失敗 找了好多原因之後 發現吧tls加上1.0後,就可以握手成功了,但是tls1.0已經被認為是過時的和不安全的協議,應該是伺服器需要配置ssl協議版本之類的 後續跟蹤 並且okht...

快遞鳥列印電子面單資料驗證不通過,非法引數

弄了半天沒弄出個所以然,想了下應該是加密的問題,除錯了下發現getip 獲取到的ip位址既不是本機的內網位址,也不是公司的外網位址,既然官方是判斷簽名後的資料跟傳遞過來的 datasign 是否一致,那有可能就是加密的時候我加密的ip不是外網位址,而快遞鳥加密的ip位址是公司外網位址,所以果斷把這個...