PHP Session总结
Session可以理解为php存储在服务器断的cookie,但是对于cookie来说因为是存储在用户电脑上,所以并不能保证安全性。但是session不同,因为是存储在服务器端,用户并没有权限对Session进行读写,所以使用过程要比cookie安全
如果你使用了 Seesion,或者该 PHP 文件要调用 Session 变量,那么就必须在调用PHP会话Session之前启动它,使用 session_start() 函数。其它都不需要你设置了,PHP 自动完成 Session 文件的创建。例如:
<?php // 启动 Session session_start(); // 声明一个名为 admin 的变量,并赋空值。 $_SESSION["admin"] = null; ?>
将 $_SESSION 看成是存储在服务器端的数组即可,我们注册的每一个变量都是数组的键,跟使用数组没有什么分别。如果要退出系统,使用如下方法:
<?php session_start(); // 这种方法是将原来注册的某个变量销毁 unset($_SESSION["admin"]);// 这种方法是销毁整个 Session 文件
session_destroy();
?>
Session与Cookie
并不是说Session足够强大,就能抛弃Cookies。 Session通过 Session ID 来判断客户端用户,什么是 Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保 Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中,关闭浏览器后该 ID 自动注销,重新请求该页面后,重新注册一个 Session ID。 如果客户端没有禁用 Cookie,则 Cookie 在启动PHP会话Session的时候扮演的是存储 Session ID 和 Session 生存期的角色。
其实Session 还提供了一个函数 session_set_cookie_params(); 来设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用:
<?php $lifeTime = 24 * 3600; session_set_cookie_params($lifeTime); session_start(); $_SESSION["admin"] = true; ?>
记录结束。