脚本宝典收集整理的这篇文章主要介绍了PHP 之Section与Cookie使用总结,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
SESSION与COOKIE区别:
Session 将信息保存在
服务器上.服务器在接受到唯一的SESSION_ID后,根据这个ID
获取相关数据,然后将信息传递到客户端(浏览器).
Cookie 是将所有信息以文本的形式存在本地
文件,并由客户端(浏览器)进行管理与维护.
因为Session 数据存储在server端,所以远程client无法对数据进行
修改;而Cookie存储在client本地,容易被
获取和篡改.所以Session安全性较高.
SESSION 介绍:
PHP5 后session被设置为
全局变量,可以通过 $_SESSION[session_id] 来
获取.当
页面启动
session会话,会在服务器中
生成一个带唯一id的SESSION,这个SESSION在生命周期结束前一直有效.当
关闭网页或结束生命周期后,session会在服务器中
自动注销. 创建
一个session 会话需要经过一下4个步骤: a)启动会话
.. 方法有2种: bool session_star(); boolean session_register(string n
ame);
b)
注册回话.
会话变量被启动后,全部保全在$_SESSION数组当中.通过数组$_SESSION创建
一个会话变量很
简单,只需要给该数组
添加一个变量即可.
c)使用会话:
一般操作:判断对应session_id的SESSION
是否存在.不存在创建
一个,存在 则通过 $_SESSION[session_id] 使用.
d)
删除会话.
unset($_SESSION[session_id]);//
删除单个.
unset([$_SESSION]);//
删除整个,将
禁止整个会话
功能,切无法恢复.
$__SESSION=array();//
删除整个,可恢复.
session_destroy();//结束当前会话..
SESSION的生命周期:
1.控制session 生命周期的
方法:
一. 前提条件:客户端
支持COOKIE!
方法:
a>通过Session来完成.
void session_set_cookie_params(int lifetime[,string path][,string dom
ain][,bool secure]);
bool setcookie(string name [,string value] [,int e
xpire] [,string path] [,sting domain] [,secure]);
b>通过Cookie 来完成.
二. 前提条件:客户端
不支持COOKIE!
一旦客户端
不支持cookie,SESSION就不能在
页面间传递,
解决办法:
a>.在登陆前
提示用户打开cookie.
b>.表单POST/GET方式,来传递SESSION_ID. c>.设置
PHP.ini
文件中的session.use_trans_sid=1 或编译时打开-enable
-trans
-sid;
d>.通过
文件或
数据库方式传递SESSION_ID;
服务器上对SESSION性能优化:
在服务器中,如果将所有
用户的session都保存到临时目录中,会降低服务器的安全性与效率.
解决方法:将SESSION存储到服务器上的
数据库或者临时
文件中.
临时
文件:
string session_save_path(string path);
数据库:
session 存储在临时
文件时,当网站浏览量很大的时候,将会导致
查询Session的效率很低,推荐
数据库存储形式.
bool session_set_save_handler(string o
PEn,string close,string read,string wr
ITe,string destroy,string gc);//将session_id 存储与
数据库中的
函数.
SESSION 缓存:
缓存即将
页面中的某些信息存储到客户端指定的
文件夹中,且可以设置一定的有效时间.(已经经过第一次访问,且存储)
在这个有效时间内,当再次访问
页面,则可直接从缓存中读取
内容,从而
提高页面浏览效率. string session_cache_limiter(string cache_limiter); //缓存
函数.
int session_cache_expire([int new cache_expire]); //有效时间.
COOKIE介绍:
cookie 是一种远程客户端存储数据和跟踪识别
用户的机制.是服务器临时
存放数据在本地
用户的
一个文本
文件.文本
文件格式:"
用户名@
网站地址[数字].txt"
COOKIE 常见功能:
a)记录
访客的某些信息. b)在
页面间传递变量; c)将
页面内容存储到cookie中提高下次
访问速度.
慎用COOKIE:
a)不是所有的浏览器都
支持cookie.
b)数据是以明文的方式保存在本地,不适合敏感的信息,未加密的信息.
c)不同类型浏览器对cookie
文件有大小,个数限制:比如最多只能存30
0个cookie
文件,每个大小不超过4KB,每个域名最多
支持20个cookie
文件.如果超过
显示,会
随机删除.
创建COOKIE:
bool setcookie(string name [,secure]);
读取COOKIE:
$_COOKIE[];
删除COOKIE:
a). setcookie("id","",time()-1);//值为空,有效时间小于当前时间.0为直接
删除COOKIE.
b).手动
删除.在客户端找到临时存放cookie的
文件. setcookie()
函数后,要执行刷新,cookie才能取得数据:
个人理解是因为session 跟cookie都是在client 跟server之间传输,在
页面显示前,我们就必须
获取到相应的数据.所以一般是在
获取 http:// 或https://时必须带上session 或cookie..当在执行setcookie()时,仅仅在本地存储了cookie 但是地址上并没有带上cookie..因而需要刷新,让服务器给地址协议带上cookie发送个客户端,这样才能取得到值.. 正是以上session_star(),setcookie()前,ht
ML页面不能有
输出...所以说cookie 或者session认第一,就没人敢认第二.
脚本宝典总结
以上是脚本宝典为你收集整理的PHP 之Section与Cookie使用总结全部内容,希望文章能够帮你解决PHP 之Section与Cookie使用总结所遇到的问题。
如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。