Cookie

Cookie的产生:

HTTP协议是无状态的。为了维护HTTP请求的会话状态,Cookie产生。

Cookie和HTTP请求的关系:

a:3:{s:3:\"pic\";s:43:\"portal/201910/24/133325cnvxbanrpvelraoj.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

1、什么是Cookie?

Cookie 实质上是存储在计算机硬盘上某个目录下的文本文件。

2、Cookie的常见应用

  1. 网站记住用户名、密码的功能、自动登录的功能等等
  2. 网站的一键换肤功能,记录相关信息,在刷新界面时仍然保留当前皮肤
  3. 网站不同用户登录的权限不同,保存权限信息

3、Cookie的特点

1)、存储格式特点

  1. 文件中的数据以键值对的形式存在;
  2. 值对之间以分号和空格间隔;

2)、存储和读取等都有相应的操作API,应用灵活简单;

3)、Cookie存储数据的个数和大小特点(缺点:存储量小)

  1. 大小一般是4k;
  2. 浏览器允许每个域名所包含的Cookie有限制
    1. IE8——50/每个域名
    2. firefox——50/每个域名
    3. Opera——30/每个域名

4)、不同浏览器只能只用自己的Cookie,互不共享

5)、可以设置浏览器禁用Cookie

6)、Cookie存在跨域问题,通常情况下,不同域之间不能访问彼此的Cookie

7)、过期时间:

  1. 没有显示设置过期时间:关闭浏览器,Cookie消失
  2. 显示设置过期时间:Cookie会存入本地硬盘,不会随浏览器的关闭而消失

8)、每次HTTP请求,都会发送到服务器(缺点:浪费带宽)

4、操作document.cookie

document.cookie; // 获取cookie
document.cookie = "ww = '123ww'"; // 将那么数据添加到cookie中,是添加,并没有覆盖原来的数据

5、语法结构

属性意义备注
key规定Cookie名称和对应的值 
domain规定Cookie生效的域

单点登录

1、默认当前所在域

2、只要显示设置域,有效范围为改域及改域的子域

3、域不同,相同name的Cookie也不会被覆盖

document.cookie = 'ww="123ww";max-age=1200;domain=www.daidu.com;path=/;'

 

path规定Cookie生效的路径

1、规定哪些HTTP请求可以读取当前Cookie

2、路径是绝对路径

3、默认值为当前路径

document.cookie = 'ww="123ww";path=/';

 

expires规定Cookie的过期时间

1、属性值是一个字符串2、是一个确切的时间点‘。toUTCString()是必须的,因为不同的浏览器对时间的处理可能不同’3、Cookie过期后会即可被删除

document.cookie = 'ww="123ww";expires='+new Date(2020,8,26).toUTCString()+';path=/'

 

max-age规定Cookie的过期时间

1、属性值是一个数字,单位是秒 2、max-age的优先级高于expires的优先级

document.cookie = 'ww="123ww";max-age=120;path=/'

 

SameSite用于限制第三方Cookie

有效遏制CSRF攻击

1、Strict:禁用任何第三方请求

2、Lax:🈲异步请求,不禁同步GET请求

3、None:不限制

HttpOnly规定Cookie只能通过HTTP(s)请求获取

1、只用通过Http(s)请求的时候才会获取到该Cookie

2、防止通过js脚本获取,防止XSS攻击

secure规定Cookie只能在https协议下才能够发送到服务器,在一定程度上防止信息在传递的过程中被监听捕获,从而导致信息泄露 

6、删除Cookie

  1. 利用过期时间删除Cookie
  2. key\domain\path\secure四个属性都匹配才能修改Cookie

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值