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

求经验,关于SESSION 存储用户验证信息

求经验,关于SESSION 存储用户验证信息

哈士奇WWW 2019-04-07 09:38:22
根据搜索查阅各位的资料经验,用户登录以后把密码存放在session里面是不可取的,这个我也认同这个观点。假如目前网站登录成功以后会在session存放2个变量:userid和username,现在项目因为一些特殊的原因要求每一页面都验证一次用户密码,那么怎么进行对比好?查找到这个用户能获取到数据库里的密码,但是session里没有密码,怎么进行对比验证?我想还是应该把密码信息存放在session里面,但怎么做才安全?描述的比较混乱,请见谅。
查看完整描述

2 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

随机生成一个token,保存在session和数据库中,代替用密码进行对比验证。
token隔一段时间更新一次。
                            
查看完整回答
反对 回复 2019-04-07
?
HUWWW

TA贡献1874条经验 获得超12个赞

首先,数据库里面也不要存放密码,一般只存放hash后的密文;
其次session中的用户信息,一般都是用户登录成功后才写入,session失效时间即表示在指定时间内用户有效,不太理解为什么每个页面都要验证一次密码,这样用户也会填的很烦;
即使每个页面都要验证一次密码,也不要在session中放置密码,可以通过用户提交的密码hash密文与数据库中保留的hash密文进行比对;
强烈建议在前端对userid、页面的url和提交时间进行hash生成唯一的token,然后在服务端同样对session中userid和页面的url以及提交时间进行hash生成唯一的token,对这两个token进行比对验证;
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 302 浏览
慕课专栏
更多

添加回答

举报

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