会话控制
1.为什么是会话?
a) 会话就是对话,现实中的会话.
b) 客户端和服务器之间的通讯就是会话,计算机中的会话
2.什么是会话控制?
a) 对会话的控制就是会话控制.
3.HTTP协议
a) HTTP协议 超文本传输协议
b) HTTP协议是一个老年痴呆症协议。该协议不会记录任何的状态。
COOKIE的工作原理:(会话控制的第一种方式)
COOKIE的操作:
添加cookie
SetCookie(名字,值,有效时间,有效路径)
查看或者使用Cookie
使用$_COOKIE数组
注意:该方式仅供查看或者使用
删除cookie
SetCookie(名字,null,time()-1,有效路径)
注意: 名字和有效路径必须和设置的时候保持一致
修改Cookie的值
SetCookie(名字,新值,有效时间,有效路径)
COOKIE存在安全性问题,容易泄露个人隐私
SESSION 会话的工作原理(第二种会话控制方式)
使用SESSION 必须开启SESSION会话 其函数为session_start()
SESSION的相关操作,和数组相同,使用$_SESSION数组即可
清空SESSION的步骤!:
//1.清除客户端的COOKIE
setCookie(session_name(),'',time()-1,'/');
//2.清除页面的$_SESSION数组
$_SESSION=array();
//3.清除服务器的SESSION文件
session_destroy();
SESSION的配置文件:
session.save_handler = files 设置SESSION的存储方式
file 以文件形式存储
user 用户自定义存储方式
session.save_path = "C:/SESSION" 设置SESSION存储的路径
session.use_cookies = 1 设置SESSION 是否使用cookie
session.use_only_cookies = 0 设置session是否只使用cookie方式
session.name = PHPSESSID session在cookie中存储的名称
session.auto_start = 0 是否自动开启session会话
session.cookie_lifetime = 0 设置cookie存储sessionid的有效时间 0 表示浏览器关闭之前有效
session.cookie_path = / 设置session在cookie中的路径参数
session.cookie_domain = 设置session使用的cookie的有效域名
session.cookie_httponly = 设置是否仅使用http协议访问session
session.serialize_handler = php session数据的串行化方式
session.gc_probability = 1
session.gc_divisor = 100
垃圾文件的回收机率
session.gc_maxlifetime = 1440 设置session文件的最大生存时间
session.hash_function = 0 sessionid或者文件名的生成规则
session.use_trans_sid = 1 设置基于url的session会话是否自动连接session的ID
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" 设定HTML标签中添加SESSION传参的标签和属性