为了账号安全,请及时绑定邮箱和手机立即绑定

手机端记住密码(登陆状态)实现下次自动登陆的问题?

手机端记住密码(登陆状态)实现下次自动登陆的问题?

慕村9548890 2018-10-11 14:15:53
两种方案:保存用户名和密码(加密过的),保存在cookie;记住当前登录IP,下次登陆去数据库验证当前登录IP实现自动登陆;请问,以上,哪种方案好一点?手机端和PC端的记住密码方式是一样吗?有更好的方法,请指教。手机端指的是wap网页(响应式,嗯)。看了2、3、4楼的回复,总结了一下差不多是按照cookie+token+user_info+time+sql这样的组合方式实现。可以,你们都很强势。谢谢各位的回答。(Thank.jpg)
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

你这两种方案都不怎么样。

第一种稍微靠谱,要想好你要怎么加密,会不会被破解,用户改名了或者改密码了该怎么办?

第二种就更离谱了,一人记住密码全校/全家自动登录?IP变化了怎么办?

手机端和PC端的记住密码的原理是一样的。

就是登录成功后生成一个很长的随机字符串(100+位)保存在Cookie(要记得设置httponly属性,并且推荐使用SSL),假设有效期30天。

然后服务器那面把这个随机字符串+过期时间+对应哪个用户ID 写入数据库。

用户再次访问的时候,服务器拿到Cookie,查询记录,验证过期时间,恢复session,如果无效/过期,抹除Cookie并弹出登陆页面。

要注意的是,如果用户重设了密码,要顺便把数据库相应用户的自动登录随机字符串的那条记录删掉。

另外要记得设置计划任务,把数据库已经过期的记录删掉。


查看完整回答
反对 回复 2018-11-03
  • 1 回答
  • 0 关注
  • 1272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信