龙空技术网

PHP会话技术Cookie篇

鹏博网客 569

前言:

此刻看官们对“phpcookie登陆”都比较关切,小伙伴们都需要分析一些“phpcookie登陆”的相关资讯。那么小编在网摘上汇集了一些关于“phpcookie登陆””的相关内容,希望同学们能喜欢,兄弟们快快来了解一下吧!

Cookie介绍

Cookie是客户端技术,当客户端请求服务器的时候,随身携带数据过去

例如:我们去超市购物,买很多东西,超市会给我们办会员卡,会员卡就会保存我们购买的商品信息,以后我们只需要拿着会员卡就可以

Cookie原理介绍

当客户端请求服务器时,服务器会告诉浏览器在自己身上做一个标记(cookie),这样,以后浏览器都会携带标记去请求服务器。

Cookie应用场景

场景1:最近浏览过哪些商品?

使用cookie实现的,将点击浏览的商品保存到cookie文件,以后再访问的时候,再去读取cookie文件中的商品

场景2:登录时,如果选择记住用户名、下次自动登录,就会把本次登录成功的用户名保存到cookie中,然后再输入框读取

Cookie基本使用

创建cookie

关于setcookie( )的7个参数

参数1:保存的cookie变量名称

参数2:变量对应的值

参数3:cookie文件的有效期

参数4:有效路径

默认情况只允许访问当前目录、当前目录子目录下面的cookie,不能访问上一级目录里面定义的cookie

我们可以通过第4个参数设置为/ ,设置cookie起作用的路径:

/ 表示服务器的根目录,也就是在整个服务器的根目录下都起作用

setcookie('name','zhangsan',time()+100,'/');

参数5:有效域名(cookie不支持跨域使用,可以通过参数5指定cookie在哪个域名下起作用)

参数6:是否只允许在https协议下使用

如果设置为true,就表示该cookie只能在https协议下进行传输

参数7:为了防止cookie被劫持定义的参数,只允许在http协议下传输(在web服务器下进行传输)

如果设置为false,允许该cookie在任何协议下都能传输

读取cookie(查询)

echo $_COOKIE['name'];

删除cookie

先将cookie的有效期设置为过期

再将$_COOKIE超全局数组中的cookie变量删除

PHP中删除cookie

Cookie细节

Cookie默认每个域名下最多创建20个cookie,每个cookie文件最多存储4K左右的数据,当然chrome浏览器创建的cookie更大18KB

setcookie前面不能有任何输出,echo 、var_dump()等

因为setcookie是服务器告诉浏览器的,告诉浏览器在自己身上创建cookie文件,服务器向浏览器回应信息是通过header头信息回应的

正常的http请求时,先向浏览器发出header头信息,再输出内容,如果先echo,再发出header头信息的时候,就违反了http协议

标签: #phpcookie登陆