Cookie的必知必会以及实战
cookie的说明
什么是Cookie
*是这样阐述的:Cookie(复数形态Cookies),又称为“小甜饼”。类型为“小型文本文件”[1],指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。
cookie涉及到的点
cookie的分类
cookie总是保存在客户端中,分为2类
- 内存Cookie:有浏览器来维护,保存在内存中,浏览器关闭后就消失了,存在客户端中
- 硬盘Cookie:保存在硬盘中,有一个过期时间,除非用户手动清除或者到了过期时间,硬盘Cookie不会删除,其存在时间是长期的
操作Cookie
-
设置Cookie:
setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] ) : bool
-
$name
: cookie的名字(字符串形式) -
$value
: cookie的值(字符串形式) -
$expire
: cookie的过期时间(int) -
$path
: cookie的有效路径(字符串) -
$domain
: cookie的有效域名(字符串) -
$secure
: 设置这个 Cookie 是否仅仅通过安全的 HTTPS 连接传给客户端 -
$httponly
: 设置成 TRUE,Cookie 仅可通过 HTTP 协议访问
-
- 读取Cookie:cookie的所有数据全部保存在
$_COOKIE
中 - 更新Cookie:重新
setcookie()
即可 - 删除Cookie
- 将cookie的值置空
- 时间设置为过期时间
time()-1
- unset($_COOKIE[$name])
Cookie的缺陷
- Cookie中不要存储敏感数据,Cookie不是很安全,劫取Cookie之后可以用来Cookie欺骗
- 不要把Cookie当作客户端存储器来使用,首先每个域名允许Cookie是有限的,根据不用的浏览器这个限制也是不同。Cookie中保存数据的最大字节数是4k
- Cookie设置之后每次都会附着在HTTP的头中一起发生,浪费带宽
Cookie实战之会话登陆
一个web网页的登陆思路
- 访问网址后进入index页面,如果登陆了或者有登陆令牌了,那么就会提示“欢迎xxx”,如果没有就提示请先登陆
- 进入登陆页面,输入用户名和密码,并且发送一个默认的令牌
- 对数据集的数据进行核对正确之后,就行cookie的设置
- 设置用户名和令牌(令牌就是通过md5进行的加密)
- 之后就是通过最初的数据核对的情况判断登陆成功或者登陆失败
- 设置7天记住密码的情况就是设置了cookie的有效期为7天
以上就是我对cookie的了解,坚信现在留下的知识对以后有用