部分与饼干怎么在PHP项目中使用

部分与饼干怎么在PHP项目中使用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

<强>会话与饼干区别:

会话将信息保存在服务器上。服务器在接受到唯一的SESSION_ID后,根据这个ID获取相关数据,然后将信息传递到客户端(浏览器)。
饼干是将所有信息以文本的形式存在本地文件,并由客户端(浏览器)进行管理与维护。
因为会话数据存储在服务器端,所以远程客户无法对数据进行修改,而饼干存储在客户本地,容易被获取和篡改。所以会话安全性较高。

<强>会话介绍:

PHP5后会话被设置为全局变量,可以通过$ _SESSION (session_id)来获取。当页面启动会话会话,会在服务器中生成一个带唯一的会话id,这个会议在生命周期结束前一直有效。当关闭网页或结束生命周期后,会议会在服务器中自动注销。

创建一个会话会话需要经过一下4个步骤:

)启动会话. .
方法有两种:bool session_star ();布尔session_register(字符串名称);
b)注册回话。
会话变量被启动后,全部保全在$ _SESSION数组当中。通过数组$ _SESSION创建一个会话变量很简单,只需要给该数组添加一个变量即可。
c)使用会话:
一般操作:判断对应session_id的会话是否存在。不存在创建一个,存在则通过$ _SESSION (session_id)使用。
d)删除会话。
设置($ _SESSION (session_id));//删除单个。
设置([$ _SESSION]);//删除整个,将禁止整个会话功能,切无法恢复。
$ __SESSION=数组();//删除整个,可恢复。
session_destroy();//结束当前会话. .

<强>会话的生命周期:

1。控制会话生命周期的方法:
一。前提条件:客户端支持饼干!
方法:
a>通过会话来完成。
空白session_set_cookie_params一生(int [, string路径][,字符串域][,bool安全]);
bool setcookie(字符串名称(字符串值][,int到期][,字符串路径][,刺痛域][安全]);
b>通过饼干来完成。
二。前提条件:客户端不支持饼干!
一旦客户端不支持cookie,会话就不能在页面间传递,解决办法:
a>。在登陆前提示用户打开饼干。
b>。表单POST/GET方式,来传递SESSION_ID。

c>。设置php . ini文件中的会话。use_trans_sid=1或编译时打开-enable-trans-sid;
d>。通过文件或数据库方式传递SESSION_ID;

<>强服务器上对会话性能优化:
在服务器中,如果将所有用户的会话都保存到临时目录中,会降低服务器的安全性与效率。
解决方法:将会话存储到服务器上的数据库或者临时文件中。
临时文件:
session_save_path字符串(字符串路径);
数据库:
会话存储在临时文件时,当网站浏览量很大的时候,将会导致查询会话的效率很低,推荐数据库存储形式。
bool session_set_save_handler(字符串,字符串,字符串,字符串写字符串摧毁,字符串gc);//将session_id存储与数据库中的函数。

<强>会话缓存:

缓存即将页面中的某些信息存储到客户端指定的文件夹中,且可以设置一定的有效时间。(已经经过第一次访问,且存储)在这个有效时间内,当再次访问页面,则可直接从缓存中读取内容,从而提高页面浏览效率。session_cache_limiter

字符串(字符串cache_limiter);//缓存函数。
int session_cache_expire ([int新cache_expire]);//有效时间。

<强>饼干介绍:

饼干是一种远程客户端存储数据和跟踪识别用户的机制。是服务器临时存放数据在本地用户的一个文本文件。文本文件格式:“用户名@网站地址(数字].txt"

<强>饼干常见功能:

a)记录访客的某些信息。b)在页面间传递变量;c)将页面内容存储到cookie中提高下次访问速度。
慎用饼干:
a)不是所有的浏览器都支持饼干。
b)数据是以明文的方式保存在本地,不适合敏感的信息,未加密的信息。
c)不同类型浏览器对饼干文件有大小,个数限制:比如最多只能存300个饼干文件,每个大小不超过4 kb,每个域名最多支持20个饼干文件。如果超过显示,会随机删除。
创建饼干:
bool setcookie(字符串名称(字符串值][,int到期][,字符串路径][,刺痛域][安全]);
读取饼干:
_COOKIE美元[];
删除饼干:
)。setcookie (“id",““,时间()1);//值为空,有效时间小于当前时间0为直接删除饼干。
b)。手动删除。在客户端找到临时存放饼干的文件。

setcookie()函数后,要执行刷新,饼干才能取得数据:

部分与饼干怎么在PHP项目中使用