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我可以将这个问题标记为已回答吗? –