求问网站的保持登入是怎么实现的啊?

求问网站个页面间切换时的保持登入是怎么实现的啊?


如果是存储cookiede的话,是存储用户名和密码?那样的话会不会不安全啊?

已邀请:

你保存在 cookie 里面的数据可以用 类似 jwt(Json Web Token) 做加密处理后放在 cookie里面,然后就是一段加密信息,发送给服务器后,服务器端在用 jwt(Json Web Token) 做解密,就可以得到 当时的形式,


至于 jwt 自行百度

用cookie,把用户的token或者其他能做唯一识别的信息,比如用户的ID存入cookie,并设定时间,然后每次打开网站,先检测有没有这个cookie,没有就登录,有的话就拿这个ID去数据库取用户信息,名字啊,昵称啊,等等。


cookie一定要加密。


当然也可以用session,它更安全,而且可以让session入库,但是session调取肯定没有cookie快

一般都是后台通过session校验的,登陆完以后,后台会在cookie里面加一个http-onlysessionId,每次跳转,后台会有一个拦截器之类的东西,检查session是否存在,是否过期

后端的session只要服务器不重启、没到过期时间、就会跟你的cookie相连、达到你说的保持登入效果

睡猫

赞同来自: dollor geekFeier

浏览器的请求中都带有cookie,将浏览器的cookie与对应session存储起来,当后续访问网站时再将cookie值对应的session信息取出,同时更新cookie,实现自动登录。
现今大多数分布式网站为了保证各服务器的session统一,都会讲session存储在一个内存数据库中,例如redis,然后作为公共服务提供给所有应用服务器,此时做保持登入功能就非常方便,由于内存数据库会对sesssion做过期清除,所以只需要在做保持登入时和每次自动登录时延长该session信息的过期时间就行了

要回复讨论请先登录注册