当前位置: 首页 > 图文教程 > 网络编程 > PHP > Session的工作方式

PHP
在PHP中使用模板的方法
php中iconv函数使用方法
谈谈新手如何学习PHP网络编程
JS实现php的伪分页
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
五个PHP程序员工具
CodeIgniter php mvc框架 中国网站
php mysql数据库操作类
php MySQL与分页效率
WindowsXP中快速配置Apache+PHP5+Mysql
php创建多级目录代码
php中对xml读取的相关函数的介绍一
Excel数据导入Mysql数据库的实现代码
比较全的PHP 会话(session 时间设定)使用入门代码
快速配置PHPMyAdmin方法
MySQL数据源表结构图示
改变Apache端口等配置修改方法
PHP读取MySQL数据代码
详解PHP显示MySQL数据的三种方法
PHP中Date获取时间不正确怎么办

PHP 中的 Session的工作方式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 263 ::
收藏到网摘: n/a

下面我们来看一下Session是如何工作的。不知你是否知道通过Cookie来实现身份认证的吧。首先生成一个独一无二的Cookie作为用户身份的标志,并在数据库中进行注册。然后通过用户传递来的Cookie和数据库中注册的Cookie进行对照以确定用户的身份。
Session的工作原理也是这样。
首先,PHP为建立Session的用户产生一个独一无二的字符串,用来标志这个用户的session。一般将这个字符串称作Session Id。然后“sess”+Session Id为文件名(例如一个Session ID为111,那么文件名为sess_111)在服务器的文件系统中建立一个文件,在文件中保存用户在Session所定义的全局变量的变量名和值。然后再将Session Id作为一个名为PHPSession的Cookie保存在用户端的文件系统中。
然后,当用户再次连接服务器访问一个PHP脚本时,PHP从用户发来的PEESession这个Cookie中得到用户所在Session的Session Id,并根据Session Id从服务器的文件系统中保存Session信息的文件。最后从这个文件中读出用户在上次连接时所设置的全局变量的值。
因此,我们可以看到Session的工作原理和我们上一节所介绍的身份认证的工作原理是一样的。所不同的只是Session将信息保存在了服务器的文件系统中,而我们将信息保存在了数据库中。当然使用Session好处就是数据的保存和获取是由PHP自动完成的,而直接使用Cookie的话就需要自己动手进行数据的保存和获取。
Session利用Cookie的身份标志功能,将用户在浏览网站时需要保存的信息保存在服务器上。这样Session既克服了HTTP协议的缺陷,又防止了信息的泄漏,而且方便了编程者的使用,是一个非常好的解决方案。不过,Session的功能只有PHP4支持,PHP3是不支持Session的。因此使用PHP3进行网站构建的读者只能采用直接使用Cookie的方式。