首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
网络编程
PHP编程
正文
Session的工作方式
所属分类:
网络编程
/
PHP编程
阅读数: 1469
收藏 0
赞 0
分享
下面我们来看一下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的方式。
更多精彩内容
其他人还在看
PHP 计算代码执行耗时的代码修正网上普遍错误
前几天测试 SQLite 插入大数据量的时候, 找了一些关于计算执行时间的代码, 发现网上普遍流传着这样一份代码
评论 0
收藏 0
赞 0
分享
php中在PDO中使用事务(Transaction)
事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行
评论 0
收藏 0
赞 0
分享
centos 5.6 升级php到5.3的方法
centos 5.6的库,更新比比5.5及时多了,居然已经有 php 5.3.3 了
评论 0
收藏 0
赞 0
分享
rrmdir php中递归删除目录及目录下的文件
php自带的rmdir,只能删除空目录,这个rrmdir就可以递归删除目录及目录下的所有文件,不过使用起来要小心哦,不要把所有文件都删了
评论 0
收藏 0
赞 0
分享
Views rows style模板重写代码
重写rows style模板,可以控制整个VIEWS的输出布局,就像VIEWS是个选择器,布局任你编排
评论 0
收藏 0
赞 0
分享
PHP中break及continue两个流程控制指令区别分析
php中常用的for与foreach循环中,经常遇到条件判断或中止循环的情况。而处理方式主要用到break及continue两个流程控制指令,现在说明主要区别
评论 0
收藏 0
赞 0
分享
SWFUpload与CI不能正确上传识别文件MIME类型解决方法分享
问题:swfupload上传任何文件的mime类型均为application/octet-stream。
评论 0
收藏 0
赞 0
分享
PHP session有效期session.gc_maxlifetime
PHP中的session有效期默认是1440秒(24分钟)【weiweiok 注:php5里默认的是180分】,也就是说,客户端超过24分钟没有刷新,当前session就会失效。很明显,这是不能满足需要的。
评论 0
收藏 0
赞 0
分享
关于session在PHP5的配置文件中的详细设置参数说明
关于session在PHP5的配置文件中的详细设置参数说明,需要的朋友可以参考下。
评论 0
收藏 0
赞 0
分享
PHP中的session永不过期的解决思路及实现方法分享
让PHP的session永不过期,你可能没有遇到这么郁闷的问题,但是我遇到过,很郁闷。
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
90后男屌丝如何让淘宝客日赚10万滴
复制网赚项目
广告如何投放才最正确有效?我就给你3个建议!
短视频如何赚钱?短视频自媒体实操经验分享(真实)
SEO都有哪些赚钱的方式? SEO的十种赚钱方式详解
未来5大网络销售模式选哪种好?
站长故事
更多
我眼里的2014年中国互联网大会亮点
微营销实例之一个80后妈妈的微商之旅
阿里IPO在即,看阿里与京东战略和经营之比
站长们,就别在折腾你的用户了
从月薪3500到身价3千万
如何利用百度贴吧做网络营销