首页 >社区问答列表 >php 记住密码登陆如何做安全

php 记住密码登陆如何做安全

一般的做法是cookie里面存账号密码 但是这样不安全 有没安全的做法呢

  • 伊谢尔伦
  • 伊谢尔伦    2017-06-23 09:13:094楼

    1. 首先,登录成功了之后,随机生成一个MD5的hash值token(32位或者64位);

    2. 然后,把这个token存入当前用户的表,然后给这个用户增加一个token字段和last_login_time字段;

    3. 把这个token返回让浏览器的cookie存储,设置一个最长时常,比如30天;

    这三个过程的主要作用就是,last_login_time可以检查过期时间,过期时间到了之后,就更新这个token,另外,只要用户通过这个token登录成功就进行更新token,这样就能尽可能的保证安全。

    每次用户访问网站的时候,检查cookie里是否有token,如果有token就去数据库查询数据,如果查到就直接登录成功了,也就省去了用户名和密码验证登录的阶段。

    整套思想是这样,你也可以让前端把token存入localstorage

    +0添加回复

  • 回复
  • 欧阳克
  • 欧阳克    2017-06-23 09:13:092楼

    不要用cookie存帐户密码,存一个记住登陆的flag,最后是与上次登陆的时间, 以及生成的key, 拼成一个加密串。然后存到cookie中。
    然后每次登陆的时候查看是否有这个cookie.有的话进行解密。然后可以解决这个串进行校检。如果正常直接给予登陆即可。

    +0添加回复

  • 回复
  • 我想大声告诉你
  • 我想大声告诉你    2017-06-23 09:13:091楼

    cookie是将密码放到本地,session是将密码放在服务器。相对来说session比较安全。但是cookie处理的好的话也是很安全的。

    +0添加回复

  • 回复