码迷,mamicode.com
首页 > 其他好文 > 详细

实现登录状态保持的两种方法 cookie、session和token

时间:2019-12-06 09:53:15      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:随机   登录   钥匙   生成   一个   数据   两种方法   存在   就会   

实现登录状态保持的两种方法:
第一种,cookie和session的配合使用
实现原理:当用户请求页面,一般需要先登录,用户第一次输入用户名和密码之后,前台发送post请求,后台获取用户信息,通过查询数据库来验证用户信息是否正确,如果验证通过,则会开辟一块session空间来储存用户数据,并且同时生成一个cookie字符串,由后台返回给前台,前台接收后,会把这个cookie字符串储存到浏览器的cookie空间中,这个cookie就相当于一把钥匙,可以打开后台存储对应用户信息的锁,当用户下一次请求的时候,客户端便会自动携带这个cookie去请求服务器,服务器识别后,就会读取session中的用户信息,这样用户就可以直接访问,就不需要再输入用户名密码来验证身份了。
优缺点: 优点是:提升了用户体验,cookie和session的结合使用,比直接在客户端保存用户信息要相对安全;缺点是:当服务器向浏览器传送cookie的时候,很容易被劫持,并不是绝对的安全,还有一点就是,在大型的项目中,服务器往往不只一台,如果第一次请求,用户信息被保存在了服务器1的session空间中,但是第二次请求被分流到了服务器2,这样就获取不到用户信息了,依然要重新登录,所以又引出了另一种方法:token来实现。

第二种,使用token安全令牌
实现原理:当用户请求页面,输入用户信息,服务端经过验证后,会生成一个token安全令牌(随机字符串),并返回给客户端,当客户端发送下一次请求的时候,直接携带这个token,服务端识别后,就可以直接访问页面,不需要再次登录了
优点:token只是以字符串的形式存在,不要服务器再开辟空间,并且相对更安全,即使在传输的过程中被劫持,别人也并不能破解内容,并且减少了服务器压力,减少频繁的查询数据库。

实现登录状态保持的两种方法 cookie、session和token

标签:随机   登录   钥匙   生成   一个   数据   两种方法   存在   就会   

原文地址:https://www.cnblogs.com/yangzai21/p/11993177.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!