Session和Cookie

Session与Cookie配合使用

Session对比Cookie,Session存储在服务器端,相对安全,并且不像Cookie那样有存储长度限制。

Cookie可以用来记住用户登录,可以按用户信息组合再加密的字符串,并在每次请求页面的时候解密出用户信息,与服务器端的Session比对,通过则登录。如果用户名和密码存储在数据库,第次要执行一次数据库查询,给数据库造成多余的负担。

Session与Cookie配合使用比较好。

 

Session保存路径

默认保存在c:\windows\temp目录下
可以通过修改php.ini中session.save_path的值来改变保存路径,前面的分号要去掉

或在Session启动之前使用改变Session路径函数

1 session_save_path("d:/session");
2 session_start();

 

 Session格式

 

 

Session能保存什么类型的数据

 

Session能保存字符串,整型(int),布尔型(bool),数组(array),而且,session还能保存对象

 

Session生存周期

如果没有设置Session的生存周期,则Session ID存储在内存中,关闭浏览器后该ID自动注销,生新请求该页面后,重新注册一个Session ID。

如果客户端没有禁用Cookie,则Cookie在启动Session会话的时候扮演的是存储Session ID和Session生存期的角色。

手动设置Session的生存周期:

setcookie("TestCookie", $valuetime()+3600);  /* expire in 1 hour */

 Cookie设置请参考:

http://cn2.php.net/manual/zh/function.setcookie.php

或在Session启动之前用session_set_cookie_params();来设置:

 

//保存一天
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();

 

参考资料

http://cn2.php.net/manual/en/function.session-set-save-handler.php 

 

未完待续

 

 

 

 

posted @ 2012-11-13 18:06  独行客  阅读(266)  评论(0编辑  收藏  举报