首先安全登陆的前提(一般都会具备以下条件):
注意:坏人不不会放过任何前端页面能取到的数据作为利用,没有什么是绝对安全的。
第一: 每个注册的用户会有一个唯一生成的ID 这个ID必须是 无序的 6位以上字母加数字比较安全
第二: 用户所有信息通过ID都可以查询。。
解决方案:当用户登陆成功(账户密码核对正确)生成一个口令(token) (也是无序随机唯一的)。 一个token对应一个用户ID ,即可以根据token去找用户ID。 这个token是有时效性的。登陆的时候设置一个过期时间 比如1小时后自动删除对应关系数据,这个token可以暴露在前端页面(可以放在在浏览器hearders方便请求后端数据携带),方便获取用户信息使用。 登陆后所有操作都会更新token的时效性为最新时间,保障用户体验。只有用户无任何操作1小时后过期删除对应关系数据。。。重新登录才会再次生成。
进阶:
最好写个定时器 一周或者一个月更换一次用户ID,可以分批次更换,活跃用户经常更换等原则。有条件的时间可以缩短。
缓存token推荐数据库:redis