php : 可用什么方法做下次自动登录
偶尔看到同事写的登录下有个复选框,选择下次自动登录;
我想问问大神们是怎么做的。哪种方法比较流行。
回复内容:
刚刚入行4个月,一直在写PHPCMS的模块,属于代码级别的,学到最多的是代码的优化;
偶尔看到同事写的登录下有个复选框,选择下次自动登录;
我想问问大神们是怎么做的。哪种方法比较流行。
一般是通过设置cookie过期时间来实现的.默认cookie是会话状态,也就是关闭浏览器后,这个cookie就会自动被删除.如果你要实现"记住登录"操作,其实就是把cookie的过期时间延长,比如1年.这样浏览器重启后再次打开你的网站时,浏览器会把这个没有过期的cookie发给服务器的PHP,程序根据这个cookie就能识别你是哪一个用户,因为用于认证的cookie里一般都保存了用户的ID和包含密码的哈希.
比如数据库中存放的用户密码:
$salt = sha1(uniqid(mt_rand(), true)); //用来哈希的盐
$pwd_db = sha1($salt.sha1($pwd_user)); //$pwd_db是数据库保存的用户密码
cookie里的用户密码:
$pwd_cookie = sha1($global_salt.sha1($pwd_db));
验证用户cookie时就是根据cookie里的用户id查出$pwd_db,然后经过sha1($global_salt.sha1($pwd_db))操作后跟cookie的密码哈希对比,一致则是合法的cookie.
别说我回答的不是你想要的.
别说我的回答是无意义的
关闭我的回答也无所谓
好吧 我给你的答案是
http://lmgtfy.com/?q=%E4%B8%8B%E6%AC%A1%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95
如果不行, 就这个
http://lmbtfy.retaker.me/?q=%E4%B8%8B%E6%AC%A1%E8%87%AA%E5%8A%A8%E7%99%BB%E5%BD%95
这才是你应该去的地方.
最后, 请看看这里
http://coolshell.cn/articles/3713.html
最简单的做法就是直接留一个cookie,把用户名放里头,看见用户名就放行。不过这样不安全,于是你需要在服务器端留一个token,如果token对上了就放行。但你其实不想知道那么多细节,于是你选了一套成熟可靠的openid方案,然后抛弃这个问题去研究真正需要你操心的业务逻辑。