本文摘自PHP中文网,作者青灯夜游,侵删。
本篇文章给大家分享一个实用Nodejs npm包---koa-csrf。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。koa-csrf是一个用于防止csrf攻击的koa中间件。
当然关于什么是csrf、以及如何预防这里就不赘述了,有兴趣的可以阅读understanding-csrf。egg处理csrf方案。
首先我们看个简单示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
简单理解其工作流程:
客户端请求页面:
- 服务端为用户当前 session 生成 secret 值,并存到 session 里;
- 根据secret生成csrf token,存到ctx._csrf;
- 下发csrf token到客户端
用户写操作,比如发送post 请求时:
- 服务端获取客户端传递过来的csrf token;
- 服务端从当前 session找到 secret 值;
- 服务器用secret与接收的csrf token进行校验;
koa-csrf
koa-csrf中关于token的创建、校验逻辑都是在这个csrf包里。
相关阅读 >>
mac和windows下如何使用nvm安装和管理多个版本的node.js?
更多相关阅读请进入《node.js》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者