选择显示字体大小

php4中的session管理

     php4中的session管理
  作者: mattias nilsson
  --------------------------------------------------------------------------------
  
  php4的新特性中最引人注目就是对session的管理功能.当别人访问你的站点时,你可以把变量保存到session对象中,从而实现许多新的功能.
  
  什么是session
  
  如果你还不太清楚,先我来解释一下什么是session.一个session在别人访问你的网站是开始,在他离开网站是结束.当然你也可以在程序里终止它.基本上,cookie与浏览器联系在一起的,一些服务器上的资源用来保存session的变量.默认情况下,php4用文件来保存这些变量.当然,从理论上来讲,也可以用数据库或共享的内存来保存.
  
  所有使用php4的session特性的网页都必须调用session_start()函数,让php4引擎装入与session相关的信息 到内存中.session_start函数会尝试从cookie或当前http的请求的参数中寻找session的id.如果没找到,就会建立一个新的session对象.
  
  什么是session变量
  
  session的变量其实就是一个普通的全局变量.当以session变量的方式注册(声明)时,所有使用php4的session功能的网页都可以访问它的值.要把一个变量注册为session变量,只要先给这个变量赋值,然后调用session_register("变量名").在后续的使用session功能(通过session_start)的网页中,"变量名"这个变量在无须重新注册为session变量,它就象一个普通的变量,而它的值就是前面赋给它的.在程序中改变这个变量的值,它会自动重新注册和保存,且在它后续的网页中可以正常使用.
  
  那么,它能做什么呢?
  
  问得好!有很多办法可以使用session管理和session变量.这里,我举一个例子来说明.假如你正在建立一个虚拟社区的站点,你可能要跟踪当前经过论证的用户名以及他有多少新的消息等信息.为了降低数据库的负载,你要用其他办法来保存这些信息.有两种办法:
  
  使用三个cookie
  authenticatied_user - 当前经过论证的用户名
  num_message - 他有多少新的消息
  expire_time - cookie的过期时限
  使用session,注册三个session变量
  第一个方法有很大的安全隐患,别人可以伪造cookie,然后用另一个帐号去访问系统.再说,所有的信息都通过header()函数实现,比较麻烦.另外,当用户的浏览器拒绝接受其中的一个cookie是,整个数据就不完整了.
  
  用session,只要一个cookie,就能保存所有的信息.安全性也好一点.
  
  不足之处
  
  使用任何服务器端的脚本语言,session都可以提供一个非常自由,灵活和强大的功能.但在php4中的session有一些限制: -不能把对象(objects)本身保存在session里 -保存在session里的数据的效率不是很高,因为php4用文件来保存session的信息.
    


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons