首页 / PHP / 跟随我在oracle学习php(38)
跟随我在oracle学习php(38)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了跟随我在oracle学习php(38),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2897字,纯文字阅读大概需要5分钟。
内容图文
![跟随我在oracle学习php(38)](/upload/InfoBanner/zyjiaocheng/911/b02a3ac168104b44bfa922f6cef323cc.jpg)
SESSION
基本原理
会话数据原文存储于浏览器端,原始数据安全性较低。
如果cookie数据量较大,由于每次请求都要携带,增加带宽使用。
使用session技术来实现:
将会话数据,存储于服务器端!同时使会话数据可以区分浏览器!
为每个会话数据建立独立的会话数据区(来存储当前会话的全部数据),每个会话数据区存在唯一的标志,同时浏览器端存储该唯一标志,做配对使用!
基本操作
开启session机制
函数可以开启:
Session_start();
也可以通过php.ini设置为自动开启:
Session.auto_start
利用$_SESSION操作session数据
增,删,改,查,都是使用$_SESSION完成。
每个元素,就是session数据。
就像操作普通数组一样,操作$_SESSION数组,就可以完成对session数据的操作!
SESSION
Session原理
存储于浏览器端Cookie中的session-id,就是一个普通的cookie变量(在session机制中尤其特殊的含义)
也是在响应时将session-id cookie变量PHPSESSID设置好:
每个会话,所生成存储于服务器端的session数据区
默认的,以文件的形式,存储于服务器端操作系统的临时目录中:
Session数据属性
有效期
会话周期结束
有效路径
整站有效
有效域
当前域
是否仅安全连接传输
否
属性的管理
以上session数据的特征,都是由,浏览器cookie中所存储的session-idcookie变量的特征所导致的。
可见,如果需要更改session数据的属性,则需要更改存储session-ID的cookie变量PHPSESSID的属性:
Php.ini中存在该属性的配置:
有效期:
路径:
有效域:
仅安全连接传输:
HTTPONLY:
如果需要对默认属性加以修改,办法如下:
A计划:
更改php.ini配置文件即可(不建议)
B计划:
通过在脚本中,使用函数ini_set()来进行配置的修改,仅在设置后的脚本周期内有效,要保证在开启session前设置完毕(可以选择)
Ini_set(‘选项’, ‘值’)
C计划:(推荐)
使用特定功能函数:
session_set_cookie_params(有效期, 有效路径,有效域,是否仅安全传输,是否HTTPONLY)
完成设置。
在开启session前设置完毕
注意:
选项的设置是针对cookie中的sessionID,因此是针对所有session数据的。
Tip:
Session属性通常都会保持其默认值,不建议修改!
Session使用语法问题
Session数据可以是任意的数据类型
就是因为,session数据区,内的数据是序列化后才存储的!
$_SESSION数组元素的下标,仅仅可以是字符串类型
Session_start(),类似于header函数,前不应该有输出!
Session数据区
在脚本周期外,持久存储当前会话session数据的区域。
在脚本周期内,使用$_SESSION这个变量管理的会话session数据。
观察:$_SESSION与session数据区的交互情况:
Session销毁
使用函数
session_destroy()
完成。
销毁:删除当前session对应的数据区,关闭session机制!
关闭session机制后,导致余下的session操作都不处理!
注意:
$_SESSION 变量,在销毁session后,是不会自动消失,但结束不完成写操作。因此下次脚本周期,就不能获取到存储的session数据。
如何完整删除与当前session相关的全部数据?
Session_destroy(); 数据区
Unset($_SESSION); 销毁变量
//setCookie(‘PHPSESSID’, ‘’, time()-1), 销毁cookie中的session-iD
setCookie(session_name(), ‘’, time()-1), 销毁cookie中的session-iD
tip:
PHPSESSID,称之为session.name 可以被配置的php.ini
使用函数session_name()来获取当前的值!
如何清空session数据?
不要 unset($_SESSION)
需要:$_SESSION = array();
内容总结
以上是互联网集市为您收集整理的跟随我在oracle学习php(38)全部内容,希望文章能够帮你解决跟随我在oracle学习php(38)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。