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

两种方案:

  1. 保存用户名和密码(加密过的),保存在cookie;

  2. 记住当前登录IP,下次登陆去数据库验证当前登录IP实现自动登陆;

请问,以上,哪种方案好一点?
手机端和PC端的记住密码方式是一样吗?

有更好的方法,请指教。


手机端指的是wap网页(响应式,嗯)。


看了2、3、4楼的回复,总结了一下差不多是按照cookie+token+user_info+time+sql这样的组合方式实现。可以,你们都很强势。谢谢各位的回答。(Thank.jpg)


慕村9548890
浏览 1377回答 1
1回答

猛跑小猪

你这两种方案都不怎么样。第一种稍微靠谱,要想好你要怎么加密,会不会被破解,用户改名了或者改密码了该怎么办?第二种就更离谱了,一人记住密码全校/全家自动登录?IP变化了怎么办?手机端和PC端的记住密码的原理是一样的。就是登录成功后生成一个很长的随机字符串(100+位)保存在Cookie(要记得设置httponly属性,并且推荐使用SSL),假设有效期30天。然后服务器那面把这个随机字符串+过期时间+对应哪个用户ID 写入数据库。用户再次访问的时候,服务器拿到Cookie,查询记录,验证过期时间,恢复session,如果无效/过期,抹除Cookie并弹出登陆页面。要注意的是,如果用户重设了密码,要顺便把数据库相应用户的自动登录随机字符串的那条记录删掉。另外要记得设置计划任务,把数据库已经过期的记录删掉。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript