【微体系】多端全栈项目实战:商业级代驾全流程落地

296 阅读2分钟

download:【微体系】多端全栈项目实战:商业级代驾全流程落地

一文带你搞懂 JWT 常见概念 & 优缺陷

JWT 的优势

相比于 Session 认证的方式来说,运用 JWT 停止身份认证主要有下面 4 个优势。

无状态

JWT 本身包含了身份考证所需求的一切信息,因而,我们的效劳器不需求存储 Session 信息。这显然增加了系统的可用性和伸缩性,大大减轻了效劳端的压力。

不过,也正是由于 JWT 的无状态,也招致了它最大的缺陷:不可控!

就比方说,我们想要在 JWT 有效期内废弃一个 JWT 或者更改它的权限的话,并不会立刻生效,通常需求等到有效期过后才能够。再比方说,当用户 Logout 的话,JWT 也还有效。除非,我们在后端增加额外的处置逻辑比方将失效的 JWT 存储起来,后端先考证 JWT 能否有效再停止处置。详细的处理方法,我们会在后面的内容中细致引见到,这里只是简单提一下。

有效防止了 CSRF 攻击

CSRF(Cross Site Request Forgery) 普通被翻译为 跨站恳求伪造,属于网络攻击范畴范围。相比于 SQL 脚本注入、XSS 等平安攻击方式,CSRF 的知名度并没有它们高。但是,它确实是我们开发系统时必需要思索的平安隐患。就连业内技术标杆 Google 的产品 Gmail 也曾在 2007 年的时分爆出过 CSRF 破绽,这给 Gmail 的用户形成了很大的损失。

那么终究什么是跨站恳求伪造呢? 简单来说就是用你的身份去做一些不好的事情(发送一些对你不友好的恳求比方歹意转账)。

举个简单的例子:小壮登录了某网上银行,他来到了网上银行的帖子区,看到一个帖子下面有一个链接写着“科学理财,年盈利率过万”,小壮猎奇的点开了这个链接,结果发现本人的账户少了 10000 元。这是这么回事呢?原来黑客在链接中藏了一个恳求,这个恳求直接应用小壮的身份给银行发送了一个转账恳求,也就是经过你的 Cookie 向银行发出恳求。

复制代码

CSRF 攻击需求依赖 Cookie ,Session 认证中 Cookie 中的 SessionID 是由阅读器发送到效劳端的,只需发出恳求,Cookie 就会被携带。借助这个特性,即便黑客无法获取你的 SessionID,只需让你误点攻击链接,就能够到达攻击效果。

另外,并不是必需点击链接才能够到达攻击效果,很多时分,只需你翻开了某个页面,CSRF 攻击就会发作。