Cookie的必知必会以及实战

cookie的说明
什么是Cookie

*是这样阐述的:Cookie(复数形态Cookies),又称为“小甜饼”。类型为“小型文本文件”[1],指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。

cookie涉及到的点

Cookie的必知必会以及实战

cookie的分类

cookie总是保存在客户端中,分为2类

  • 内存Cookie:有浏览器来维护,保存在内存中,浏览器关闭后就消失了,存在客户端中
  • 硬盘Cookie:保存在硬盘中,有一个过期时间,除非用户手动清除或者到了过期时间,硬盘Cookie不会删除,其存在时间是长期的
操作Cookie
  • 设置Cookiesetcookie ( 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
    1. 将cookie的值置空
    2. 时间设置为过期时间time()-1
    3. unset($_COOKIE[$name])
Cookie的缺陷
  1. Cookie中不要存储敏感数据,Cookie不是很安全,劫取Cookie之后可以用来Cookie欺骗
  2. 不要把Cookie当作客户端存储器来使用,首先每个域名允许Cookie是有限的,根据不用的浏览器这个限制也是不同。Cookie中保存数据的最大字节数是4k
  3. Cookie设置之后每次都会附着在HTTP的头中一起发生,浪费带宽
Cookie实战之会话登陆

一个web网页的登陆思路

  1. 访问网址后进入index页面,如果登陆了或者有登陆令牌了,那么就会提示“欢迎xxx”,如果没有就提示请先登陆
  2. 进入登陆页面,输入用户名和密码,并且发送一个默认的令牌
  3. 对数据集的数据进行核对正确之后,就行cookie的设置
  4. 设置用户名和令牌(令牌就是通过md5进行的加密)
  5. 之后就是通过最初的数据核对的情况判断登陆成功或者登陆失败
  6. 设置7天记住密码的情况就是设置了cookie的有效期为7天

以上就是我对cookie的了解,坚信现在留下的知识对以后有用