Cookie和Session

本文介绍了Cookie和Session的基本概念及用途,包括如何创建、读取和删除Cookie,以及Session的使用方法。Cookie主要用于记录用户信息、页面间传递变量等,而Session则实时生效,用于记录用户的浏览状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cookie管理

Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。

它以文本文件的形式在客户端计算机上保存,文本文件的命令格式如下:

用户名@网站地址[数字].txt

(在Cookies文件夹下,每个Cookie文件都是一个简单而又普通的文本文件,而不是程序。Cookies中的内容大多数经过了加密处理,因此,表面看来只是一些字母和数字组合,而只有服务器的CGI处理程序才知道他们真正的含义)

 

Cookie常用于以下3个方面,

1,记录访客的某些信息,例如应用Cookie记录用户访问网页的次数,或者记录访客曾经输入过的信息,另外,还可以应用Cookie自动记录访客上次登录的用户名。

2,在页面之间传递变量。浏览器并不会保存当前页面上的任何变量信息,当页面被关闭,页面上的所有变量信息将随之消失。如果用户声明一个变量id=5,要把这个变量传递到另一个页面,可以把变量id以Cookie的形式保存下来,然后再下一页通过读取Cookie来获取变量的值。

3,将所查看的Internet页存储在Cookie临时文件内,这样可以提高以后浏览的速度。

(一般不要用Cookie来存储大型数据,并非所有的浏览器都支持Cookie,并且数据信息是以明文文本的形式保存在客户端计算机中,因此最好不要保存敏感的,未加密的数据,否则会影响网络的安全性)

 

 

使用Cookie的限制

1,必须在HTML文件的内容输出之前设置

2,不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。

3,限制是在客户端的,一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4k,每个web站点能创建的Cookie不能超过20个。

4,Cookie不是实时生效的,需要刷新界面之后才能生效

("<script>location.href="xxx.php"</script>")

 

 

 

Cookie的使用

1,创建Cookie,在PHP中通过setcookie()函数创建Cookie。语法如下:

setcookie(string name, string value, int expire, string path, string domain, int secure);

name, Cookie的变量名,可以通过$_COOKIE["cookiename"]调用变量名为cookiename的Cookie

value, Cookie变量的值,该值保存在客户端,不能用来保存敏感数据

expire, Cookie的失效时间,可以用time()函数获取,如果不设置,将在关闭浏览器时自动删除Cookie数据。

path, Cookie在服务器端的有效路径, 如果该参数设置为"/",那它就在整个domain内有效,如果设置为"/form",它就在domain下的/form目录以及子目录有效,默认的为当前目录

domain, Cookie有效的域名, 如果要使Cookie在ikupan.com域名下的所有子域有效,应该设置为"ikupang.com"

secure,指明Cookie是否通过安全的HTTPS,如果值为1,则Cookie只能在HTTPS连接上有效,如果为默认值0,则HTTP和HTTPS都可以

 

2,读取Cookie, 在PHP中通过超级全局数组$_COOKIE[]来读取浏览器端的Cookie值

 

 

3,删除Cookie,一般是两种办法,一种是将值置空,另一种是将时间至为过期

setcookie(name, "");

setcookie(name, time()-1);

 

 

 

 

Session管理

Session是指一个终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统之间所经过的时间。因此,Session实际上市一个特定的时间概念。

Session在Web技术中占有非常重要的分量,由于网页是一种无状态的连接程序,因此无法得知用户的浏览状态,必须通过Session记录用户的有关信息,以供用户再次以此身份对Web服务器提供的要求时做确认。

 

Session与Cookie不同的是实时生效的。

 

session的使用比cookie要简单,start之后可以直接当做一个全局变量来使用,需要注意的就是session_start()之前不能有任何的输出内容。

 

seesion_start();//初始化seesion.需在文件头部

$_SEESION[name]=value;//配置Session

echo $_SESSION[name];//使用session

isset($_SESSION[name]);//判断

unset($_SESSION[name]);//删除

session_destroy();//消耗所有的session

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值