php : 可用什么方法做下次自动登录

WBOY
풀어 주다: 2016-06-06 20:22:00
원래의
1206명이 탐색했습니다.

刚刚入行4个月,一直在写PHPCMS的模块,属于代码级别的,学到最多的是代码的优化;

偶尔看到同事写的登录下有个复选框,选择下次自动登录;

我想问问大神们是怎么做的。哪种方法比较流行。

回复内容:

刚刚入行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方案,然后抛弃这个问题去研究真正需要你操心的业务逻辑。

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!