下面我们来看一下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的方式。
培训新闻
- LAMP兄弟连【北京】PHP全能提高班3期开始报名...
- 唐山培训中心 【暑期就业班】学期短 费用低 ...
- ★★合肥PHP培训中心★★PCTI快速就业暑期班...
- 广州多迪PHP六月全程就业班报名中,习中就有...
- LAMP兄弟连【北京】09暑期班开始报名啦!!!...
- LAMP兄弟连(北京)LAMP就业班16期开始报名啦...
- 开沅教育【大连】中心lamp实战就业26期招生啦...
- 青岛5月份和暑假班Manyou平台的游戏开发开班...
热点专题
网站特别推荐
- LAMP兄弟连【北京】PHP全能提高班3期开始报名...
- LAMP兄弟连(北京)PHP全能班22期开始报名啦...
- 唐山培训中心 【暑期就业班】学期短 费用低 ...
- ★★合肥PHP培训中心★★PCTI 【快速就业暑期...
- 多迪教育【广州】PHP培训暑假班热招,网络公...
- 现在北京学php多少钱?
- 多迪教育【广州】PHP培训六月就业班,零基础...
- 开沅教育【大连】中心,参加第七届大连国际徒...
- LAMP兄弟连【北京】09暑期班开始报名啦!!!...
- (5月23日)LAMP兄弟连[北京]免费公开课——...
社区精华
- peacockVIM三部曲
- TankMeDIY PHP函数之完善count()...
- cfeeling分享一个统一支付接口
- 某个人php的总结mindmap。老鸟指导,新手共勉
- PHPChinaFastCGI 不完全高级指南(PHP版,Wi...





