PHP应用-会话跟踪ppt

来源:互联网 发布:翼支付软件 编辑:程序博客网 时间:2024/06/13 12:46
HTTP是一个无状态的协议,此协议无法来维护两
个事务之间的联系。
n 当一个用户请求一个页面后再请求另外一个页面
时,HTTP无法告诉我们这两个请求是来自同一个
人。
n 会话控制思想就是能够在网站中跟踪一个变量,
我们可以跟踪变量,就可以做到对用户的支持,

并根据授权和用户身份显示不同内容


会话跟踪四种技术
®URL重写
®隐藏表单域
®Cookie
®Session



URL重写
n 隐藏表单域


Cookie
®是保存在客户端的一小段文本文件
®使用cookie的限制。一个浏览器能创建的
cookie数量最多为300个,并且每个不能超过
4KB,每个Web站点能设置的cookie总数不能
超过20个
®setcookie() / $_COOKIE[‘xxx’]


Cookie数组
®其一:
setcookie("CookieArray[0]", "Value 1"); 
setcookie("CookieArray[1]", "Value 2");
®其二:
setcookie("CookieArray[“one”]", "Value 1"); 
setcookie("CookieArray[“two”]", "Value 2"); 



删除Cookie
®1、调用只带有name参数的setcook
®2、设置Cookie的失效时间为time()



Session
®Session从用户访问页面开始,到断开与网站
连接为止,形成一个会话的生命周期
®Session会话时,SessionID会分别保存在客户
端和服务器端两个位置,对于客户端使用临时
的Cookie保存(Cookie名称为PHPSESSID)
或者通过URL字符串传递,服务器端也以文本
文件形式保存在指定的Session目



使用会话的基本步骤如下:
®开始一个会话
session_start()
session.auto_start=1
®注册会话变量
$_SESSION[‘xxx’]=xxx
session_encode():序列化-编码
session_decode():还原-解



使用会话变量 isset($_SESSION[‘myvar’])
®注销变量并销毁会话 unset ($_SESSION[‘xxx’])
session_unset() 
$_SESSION = array()
session_destroy()



常用函数
®session_id()
®session_name() 
®session_regenerate_id()


Session跨页传递(不使用Cookie)
®1、设置php.ini中的session.use_trans_sid = 1
或者编译时打开了--enable-trans-sid选项,让
PHP自动跨页传递session id。仅适用于
Linux/Unix。
®2、手动通过URL传值、隐藏表单传递session 
id。
®3、用文件、数据库等形式保存session_id,在
跨页过程中手动调用。


关于Session的相关配置(php.ini)



原创粉丝点击