文档库 最新最全的文档下载
当前位置:文档库 › 黑马程序员_PHP_课程同步笔记day40:cookie经典案例

黑马程序员_PHP_课程同步笔记day40:cookie经典案例

黑马程序员_PHP_课程同步笔记day40:cookie经典案例
黑马程序员_PHP_课程同步笔记day40:cookie经典案例

【黑马程序员】PHP课程同步笔记day40:cookie案例记录当前登录信息分析

现在向京东、天猫等大型商场网站,你登陆一次之后,关闭浏览器,再打开浏览器之后就会发现你没有登陆你的账号密码,系统默认已经登录了,这是什么原理实现的那?

有些同学可能上来就想到了session,用session去存储当前用户的登陆信息,但是大家有没有想过这样的一个问题那,就是session的有效期就是在在浏览器开启的这段时间,若关闭浏览器,则存储在session中的登陆凭证就会消失,登陆状态就会变成未登录。

如果需要完成浏览器关闭后,再次请求站点,还处于登陆状态的话。从咱学过的知识来想的话,除了session之外,能记录信息的会话就只有cookie了,而通常我们就是用COOKIE 来记录当前用户的信息。

流程如下:

当前的登陆校验如下:

带有登陆状态记录的

Cookie的优点:

具有可验证性。

私密性。加密存储。

为什么不是用户名和密码?

常规的登陆方式,就是用户名和密码,但是因为cookie存储的数据的位置容易被黑客攻击到,所以我们通常存储用户信息的时候不存储用户的密码。

加密的方式选择:

加盐加密:只对密码进行md5 加密是肯定不够的。聪明的程序员想出了个办法,即使用户的密码很短,只要我在他的短密码后面加上一段很长的字符,再计算md5 ,那反推出原始密码就变得非常困难了。加上的这段长字符,我们称为盐(Salt),通过这种方式

加密的结果,我们称为加盐Hash 。

我们在项目中的也应用到了加盐加密的方式来存储用户的信息。

记录登陆状态

back/AdminController->checkAction();

判断登陆状态

更新

back/PlatformController->_checkLogin()

实际开发时。

退出时,一定要将登陆状态删除!setcookie('admin_id', '', time()-1); setcookie('admin_pass', '', time()-1);

相关文档