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();
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", $value, time()+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();
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);
session_start();
参考资料
http://cn2.php.net/manual/en/function.session-set-save-handler.php未完待续