token解决cookie的弊端(token cookies)

  本篇文章为你整理了token解决cookie的弊端(token cookies)的详细内容,包含有token.cookie.session token cookies token放在cookie安全吗 cookie+token token解决cookie的弊端,希望能帮助你了解 token解决cookie的弊端。

  token解决cookie的弊端

  目录token解决cookie的弊端cookie的弊端token解决弊端一什么是token和JWTJWT的构成token工作流程token解决弊端二CSRF攻击token防止CSRFChatGPT的回答

  cookie的弊端

  弊端一:浏览器请求过服务器后,下一次访问时服务器就会通过浏览器cookie中携带的sessionID去寻找对应session,但是如果服务器做了负载均衡,用户下一次请求可能会被定向到其他服务器节点,那台服务器上没有用户session信息,就会导致验证失败,所以session默认机制下不适合做分布式部署。其实可以将session集中存储在同一个地方,所有服务器都去这里去访问,但增加了单点失败的可能性。如果负责存储session的机器出现问题,所有人都要重新登录。

  弊端二:cookie安全性较低。

  token解决弊端一

  什么是token和JWT

  token:简单说就是服务器给浏览器发了一枚令牌,以后带着令牌过来就能随便访问。

  JWT:全称 JSON Web Tokens ,是一种规范化的 token。

  JWT的构成

  它是一个字符串,由头部、载荷与签名三部分构成,两两之间用.分隔。

  头部(Header):一般存放令牌类型和签名(加密)算法类型。将其用Base64Url进行编码。

  载荷(Payload):包括签发人、生效时间、编号等信息。将其用Base64Url进行编码。

  签名(Signature):将前两部分编码过的字符串用指定的签名算法和服务器提供的密钥进行加密得到签名。

  token工作流程

  用户通过用户名及密码进行登录验证。

  服务器验证成功后生成token将其返回给浏览器。

  浏览器可以将其存储在cookie中(也可以存储在其他地方),在以后访问中将token添加到http请求的header中。

  服务器通过token中前两部分内容及服务器存储的密钥再次加密,然后与token中的签名进行核对,相同说明已登录。

  
这样一来,服务器不用保存每个用户的session,只需要保存一段密钥。token由用户自己保存。

  token解决弊端二

  CSRF攻击

  CSRF(Cross-site request forgery),即跨站请求伪造。

  举例:我去访问A网站,服务器给了我cookie,我又去访问B网站,有人在B网站中放入了一个来自A网站的链接,点击后会执行一些非我本意的操作,我点击后浏览器带着我的cookie去请求,服务器误以为就是我想来执行这些操作,于是就凉凉了。

  token防止CSRF

  浏览器请求时会默认携带cookie,但不会直接携带token。

  还有人说cookie中不是也可能存有token吗,那cookie被劫持和token被劫持有什么区别?CSRF的原理是冒用别人的cookie去欺骗服务器,但不能获取到cookie中的信息。所以即便cookie被劫持,但cookie本身不参与验证,只是起到存储作用,用于验证的token必须添加到http的header中。

  ChatGPT的回答

  以上就是token解决cookie的弊端(token cookies)的详细内容,想要了解更多 token解决cookie的弊端的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: