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 

未完待续

原文地址:https://www.cnblogs.com/yiwd/p/2768479.html