现在的位置: 首页 > web前端 > 正文

sessionstart注意什么

2020年07月17日 web前端 ⁄ 共 1242字 ⁄ 字号 评论关闭

  Web中的Session指的就是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。因此从上述的定义中我们可以看到,Session实际上是一个特定的时间概念。需要注意的是,一个Session的概念需要包括特定的客户端,特定的服务器端以及不中断的操作时间。A用户和C服务器建立连接时所处的Session同B用户和C服务器建立连接时所处的Session是两个不同的Session。


  sessionstart的工作原理


  (1)当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。


  (2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。


  (3)当执行PHP脚本时,通过使用session_register()函数注册session变量。


  (4)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。


  session存储在服务器端,默认情况下,php.ini中设置的SESSION保存方式是files(session.save_handler=files),即使用读写文件的方式保存SESSION数据,而SESSION文件保存的目录由session.save_path指定,文件名以sess_为前缀,后跟SESSIONID,如:sess_c72665af28a8b14c0fe11afe3b59b51b。文件中的数据即是序列化之后的SESSION数据了。


  sessionstart注意什么


  如果访问量大,可能产生的SESSION文件会比较多,这时可以设置分级目录进行SESSION文件的保存,效率会提高很多,设置方法为:session.save_path="N;/save_path",N为分级的级数,save_path为开始目录。


  当写入SESSION数据的时候,PHP会获取到客户端的SESSION_ID,然后根据这个SESSIONID到指定的SESSION文件保存目录中找到相应的SESSION文件,不存在则创建之,最后将数据序列化之后写入文件。读取SESSION数据是php中的Session与Cookie


  在PHP开发中对比起Cookie,session是存储在服务器端的会话,相对安全,并且不像Cookie那样有存储长度限制,本文简单介绍session的使用。


  由于Session是以文本文件形式存储在服务器端的,所以不怕客户端修改Session内容。实际上在服务器端的Session文件,PHP自动修改session文件的权限,只保留了系统读和写权限,而且不能通过ftp修改,所以安全得多。


  总之,sessionstart给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.