0
我寫了一個項目,它的接近它的生產階段,我意外地發現了一個bug在我的代碼csurf節點:多次使用,並沒有錯誤CSRF令牌
我的項目有一個頁面中,我有很多形式,我使用ajax發佈它們,我發現我沒有更新每個ajax請求的csrf標記,並且我的csurf-npm模塊沒有拋出任何錯誤。
我的項目是如此這麼大,我不能在這裏寫的,但我使用的唯一的地方是:
var csrfProtection = require("csurf")({cookie: true});
在我的路由器:
router.post(csrfProtection(),/*some BILIBILI function*/);
和我」 m發送此頁到我發佈我的表格與阿賈克斯:
req.csrfToken();
你能幫我找出發生了什麼事。
謝謝
我不認爲這是一個問題,令牌可以是唯一的會話。請參閱https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Synchronizer_.28CSRF.29_Tokens –
@GabrielBleu謝謝你,我以爲這是一些如何重新創建每當你使用req.csrfToken()(即使你的會話沒有改變,它也會給出另一個csrfToken)我認爲它的實現方式是它有一個會話中保存的密鑰,它將用於解密該令牌並隨時重新創建它 –
how我可以將這個問題標記爲已回答嗎? –