首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保护Koa.js应用程序免受CSRF攻击?

如何保护Koa.js应用程序免受CSRF攻击?
EN

Stack Overflow用户
提问于 2021-01-18 16:37:23
回答 1查看 354关注 0票数 1

我知道Cross-Site Request Forgery (CSRF)是一种攻击,它迫使用户在他们已经登录的web应用程序上执行无意的操作。

我想阻止CSRF调用我的基于Koa.js的API和表单提交。这是一个基于JWT的应用程序。

通常框架都有防止或保护CSRF的插件。但是,当您使用Koa.js时,如何防止此类CSRF攻击?Koa有没有这样做的middlewares

EN

回答 1

Stack Overflow用户

发布于 2021-02-03 14:40:02

自己编写一个中间件实际上很简单(如果我有时间,我会在这里放一个例子)。基本上,流程如下:

生成一个令牌并将其保存在会话(https://www.npmjs.com/package/koa-session)中,然后将该令牌作为隐藏字段放置在表单中。提交表单时,检查隐藏字段中发布的令牌是否与会话中保存的令牌相同。不过,请确保每次请求都重新生成一个新的令牌。

需要注意的重要一点是,会话令牌必须在服务器端保存或在客户端加密,否则将毫无意义。在这种情况下,使用签名JWT令牌的Simlpy将不起作用。如果你想使用JWT令牌,你必须实现redis或者其他东西来保存(JWT-token:csrf-token)的键值对。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65771126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档