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