新闻中心

PHP中Cookie与Session的主要区别

作者 / 无忧主机 时间 2015-04-10 17:24:50

记得前段时间无忧小编讲解并在无忧主机php虚拟主机的官网发表过session的用法和功能的介绍文档。今天小编就分析一下session和cookie的区别。其实这两者的区别和联系感觉蛮深奥,总有那么一点难以辨析的存在。 对于 Cookie 来说,比如我们要验证用户是否登陆,就必须在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证。如果用户名和密码存储在数据库,那么每次都要执行一次数据库查询,给数据库造成多余的负担。因为我们并不能只做一次验证。为什么呢?因为客户端 Cookie 中的信息是有可能被修改的。假如你存储 $admin 变量来表示用户是否登陆,$admin 为 true 的时候表示登陆,为 false 的时候表示未登录,在第一次通过验证后将 $admin 等于 true 存储在 Cookie,下次就不用验证了,这样对么?错了,假如有人伪造一个值为 true 的 $admin 变量那不是就立即取的了管理权限么?非常的不安全。 而 Session 就不同了,Session 是存储在服务器端的,远程用户没办法修改 session 文件的内容,因此我们可以单纯存储一个 $admin 变量来判断是否登陆,首次验证通过后设置 $admin 值为 true,以后判断该值是否为 true,假如不是,转入登陆界面,这样就可以减少很多数据库操作了。而且可以减少每次为了验证 Cookie 而传递密码的不安全性了(session 验证只需要传递一次,假如你没有使用 SSL 安全协议的话)。即使密码进行了 md5 加密,也是很容易被截获的。 经过小编这样的介绍,相信大家对 Session 和 Cookie 应该有一定的了解了。感谢大家长期以来对无忧主机的支持。 无忧主机相关文章推荐阅读: 解决DIYPAG程序首页CSS失效 如何在DIYPAGE中添加GOOGLE广告 无忧主机讲解DIYPAGE模板目录与文件结构 如何利用.HTACCESS规则解决新建目录访问无效

本文地址:https://www.51php.com/others/19163.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服