gpt4 book ai didi

javascript - 如何使用 Express JS 4.0 的 csurf?

转载 作者:数据小太阳 更新时间:2023-10-29 05:22:57 26 4
gpt4 key购买 nike

我一直在检查csurf的 wiki,但它是空的。该模块为用户请求添加了一个csrfToken()函数,那么,我该如何使用呢?

有人可以给出一个代码示例和解释吗?我应该在用户端做什么?我应该在服务器端做什么?

最佳答案

csurf 中间件旨在拒绝包含有效负载(例如主体参数)的请求(如果它没有有效 token )。以下是您将如何使用它:

app.use(require('body-parser')());
app.use(require('cookie-parser')('YOUR SECRET GOES HERE'));
app.use(require('express-session')());

app.use(require('csurf')());

app.get('/some-form', function(req, res){
res.send('<form action="/process" method="POST">' +
'<input type="hidden" name="_csrf" value="' + req.csrfToken() + '">' +
'Favorite color: <input type="text" name="favoriteColor">' +
'<button type="submit">Submit</button>' +
'</form>');
});

app.post('/process', function(req, res){
res.send('<p>Your favorite color is "' + req.body.favoriteColor + '".');
});

尝试取出 req.csrfToken()(或用其他东西替换它);您会发现该表格不再有效。

请注意,csurf 需要 session 才能工作。如果您想了解使用 csurf 的原因,请参阅关于 cross-site request forgery (CSRF) 的维基百科文章。 .

关于javascript - 如何使用 Express JS 4.0 的 csurf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23917637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com