根据搜索查阅各位的资料经验,用户登录以后把密码存放在session里面是不可取的,这个我也认同这个观点。
假如目前网站登录成功以后会在session存放2个变量:userid和username,现在项目因为一些特殊的原因要求每一页面都验证一次用户密码,那么怎么进行对比好?查找到这个用户能获取到数据库里的密码,但是session里没有密码,怎么进行对比验证?
我想还是应该把密码信息存放在session里面,但怎么做才安全?描述的比较混乱,请见谅。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
随机生成一个token,保存在session和数据库中,代替用密码进行对比验证。
token隔一段时间更新一次。
不同的用户访问网站时都会分配不同的SESSIONID,关闭浏览器后,再次打开也会分配不同的SESSIONID。SESSION本来就是与用户相关的,通过来讲只要验证SESSION中的userid是否存在即可。存在SESSION['userid']就代表着这是一个经验验证的用户。因为只有通过验证后,才会把userid写入SESSION。
密码只在一些必须的操作时,要求再次输入进行。SESSION中不存,是不需要存,而不是每次都需要到数据库中去查询对比。