javascript - 求问网站的保持登入是怎么实现的啊?
PHP中文网
PHP中文网 2017-04-11 12:48:11
[JavaScript讨论组]

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

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

PHP中文网
PHP中文网

认证0级讲师

全部回复(11)
伊谢尔伦

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

伊谢尔伦

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

天蓬老师

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

ringa_lee

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

至于 jwt 自行百度

PHPz

用session啊,PHP网站中保持登录状态的功能是怎么做的?希望对你有帮助

PHP中文网

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

cookie一定要加密。

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

大家讲道理

可以把登录信息保存在数据库里 或者其他位置也行。当登录到期之后。自动调取库里的信息重新执行登录。或者干脆把登录的session保存。到期之后重复值

迷茫

cookiei里设置HttpOnly脚本就无法获取信息

怪我咯

session
将对应登录的用户username以及其他什么需要存储的信息存入session
比如:menus : req.session.menus,user : req.session.user,
记得存储password的时候要加密
比如: insert into admin(name,password,role_name,privilege,description) values ('admin','7df0df52a127f43fa18a0831fb6b1262','SUPER_ADMIN',256,'XX管理员');
上面这种加密方式 也就是 每注册一个用户 存入到数据库中的password都是经过加密的 这样你保存到session或者cookie中的时候都是没有问题的
以上用了n_user.password = encrypt.encrypt(n_user.password);这种加密方式

怪我咯

依在下薄见
我觉得session怎么说呢,只要涉及存密码就是不安全的
比较妥善的办法我觉得是让后台返回给你一个
uid(根据用户名生成的唯一标识)
utoken(一个根据密码生成的令牌)
将这些存到local中就可以了,一般来说比直接存储密码安全很多
然后你通过是否uid和utoken是否存在来判断是否登陆过了,
登陆过就直接跳转到首页

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号