手机显示token登录失效怎么登录 token是什么意思
原文链接:https://mp.weixin.qq.com/s/StIo-eC-7UeBr-fb6lIZkQCookie1991 年 HTTP 0.9 诞生了,当时只是为了满足大家浏览 web 文档的要求 ,所以只有 GET 请求,浏览完了就走了,两个连接之间是没有任何联系的,这也是 HTTP 为无状态的原因,因为它诞生之初就没有这个需求 。
作者: 码海
但随着交互式 Web 的兴起(所谓交互式就是你不光可以浏览,还可以登录,发评论,购物等用户操作的行为),单纯地浏览 web 已经无法满足人们的要求,比如随着网上购物的兴起,需要记录用户的购物车记录,就需要有一个机制记录每个连接的关系,这样我们就知道加入购物车的商品到底属于谁了,于是 Cookie 就诞生了 。
Cookie,有时也用其复数形式 Cookies 。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行 Session 跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。工作机制如下
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
文章插图
只要在 header 中的 authorize 字段(或其他自定义)加上 token 即可完成所有跨域站点的认证 。
2、 在移动端原生请求是没有 cookie 之说的,而 sessionid 依赖于 cookie,sessionid 就不能用 cookie 来传了,如果用 token 的话,由于它是随着 header 的 authoriize 传过来的,也就不存在此问题,换句话说token 天生支持移动平台,可扩展性好
综上所述,token 具有存储实现简单,扩展性好这些特点 。
token 有哪些缺点那有人就问了,既然 token 这么好,那为什么各个大公司几乎都采用共享 session 的方式呢,可能很多人是第一次听到 token,token 不香吗? token 有以下两点劣势:
1、 token 太长了
token 是 header, payload 编码后的样式,所以一般要比 sessionId 长很多,很有可能超出 cookie 的大小限制(cookie 一般有大小限制的,如 4kb),如果你在 token 中存储的信息越长,那么 token 本身也会越长,这样的话由于你每次请求都会带上 token,对请求来是个不小的负担
2、 不太安全
网上很多文章说 token 更安全,其实不然,细心的你可能发现了,我们说 token 是存在浏览器的,再细问,存在浏览器的哪里?既然它太长放在 cookie 里可能导致 cookie 超限,那就只好放在 local storage 里,这样会造成安全隐患,因为 local storage 这类的本地存储是可以被 JS 直接读取的,另外由上文也提到,token 一旦生成无法让其失效,必须等到其过期才行,这样的话如果服务端检测到了一个安全威胁,也无法使相关的 token 失效 。
所以 token 更适合一次性的命令认证,设置一个比较短的有效期
误解: Cookie 相比 token 更不安全,比如 CSRF 攻击首先我们需要解释下 CSRF 攻击是怎么回事
攻击者通过一些技术手段欺骗用户的浏览器去访问一个自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品) 。由于浏览器曾经认证过(cookie 里带来 sessionId 等身份认证的信息),所以被访问的网站会认为是真正的用户操作而去运行 。
比如用户登录了某银行网站(假设为 http://www.examplebank.com/,并且转账地址为 http://www.examplebank.com/withdraw?amount=1000【手机显示token登录失效怎么登录 token是什么意思】
推荐阅读
- 微信小号怎么弄 微信小号如何弄
- 淘宝超过7天怎么退货
- h0n0r是什么牌子的手机 h0n0r是什么牌子手机
- 抖音短视频怎么保存到手机
- 如何下载电视剧到手机上怎么下载电视剧到手机上
- 华为手机pin码怎么设置 华为手机pin码如何设置
- 微信接龙怎么往下接微信接龙怎么往下接的步骤
- 华为jny一al10是什么型号 华为jny一al10是什么手机
- 苹果手机自带浏览器打不开网页
- 手机为什么没有网络信号了