cookie 里面都包含什么属性?

news2024/11/23 4:34:34

结论先行:

Cookie 中除了名称和值外,还有几个比较常见的,例如:

Domain 域指定了 cookie 可以发送到哪些域,只有发送到指定域或其子域的请求才会携带该cookie;

Path 路径指定哪些请求 URL 路径可以访问 cookie,只有在指定的路径下发起的请求才会携带该 cookie;

Expires/Max-size 过期时间设置 cookie 的过期时间。在这个时间之后,客户端将不再发送该cookie;

Secure 安全标志如果设置了这个标志,那么cookie 只有在通过 HTTPS 连接时才会发送到服务器。而不会通过 HTTP 协议;

HttpOnly:如果设置了这个标志,那么 JavaScript 将无法操作该 cookie,这样可以防止跨站脚本攻击获取到cookie 信息。只有服务端可以通过响应头设置它们;

具体解析:

除了名称和值之外,cookie 还具有控制很多方面的属性,包括安全方面、生命周期以及它们在浏览器中的访问位置和方式等。

名称(Name):cookie 的名称,用于在服务器端识别和访问该 cookie

值(Value):与 cookie 相关联的值,可以是任何字符串或者文本

1、Domain:告诉浏览器允许哪些主机访问 cookie

如果未指定,则默认为设置 cookie 的同一主机。因此,当使用客户端 JavaScript 访问 cookie 时,只能访问与 URL 域相同的 cookie。

同样,只有与 HTTP 请求的域共享相同域的 cookie 可以与请求头一起发送到服务端。

注意,拥有此属性并不意味着可以为任何域设置 cookie,因为这显然会带来巨大的安全风险。 此属性存在的唯一原因就是减少域的限制并使 cookie 在子域上可访问

例如,如果当前的域是 abc.xyz.com,并且在设置 cookie 时如果不指定 Domain 属性,则默认为 abc.xyz.com,并且 cookie 将仅限于该域。 但是,可能希望相同的 cookie 也可用于其他子域,因此可以设置 Domain=xyz.com 以使其可用于其他子域,如 def.xyz.com 和主域 xyz.com。

2、Path:指定访问 cookie 必须存在的请求 URL 中的路径

除了将 cookie 限制到域之外,还可以通过路径来限制它。

路径属性为 Path=/store 的 cookie 只能在路径 /store 及其子路径 /store/cart、/store/gadgets 等上访问

3、Expires/Max-size:设置 cookie 的过期时间

若设置其值为一个时间,那么当到达此时间后,cookie 就会失效。

不设置的话默认值是 Session,意思是 cookie 会和 session 一起失效。当浏览器关闭(不是浏览器标签页) 后,cookie 就会失效。

除此之外,它还可以通过将过期日期设置为过去来删除 cookie。

4、Secure

具有 Secure 属性的 cookie 仅可以通过安全的 HTTPS 协议发送到服务器,而不会通过 HTTP 协议。

这有助于通过使 cookie 无法通过不安全的连接访问来防止中间人攻击。除非网站实用不安全的 HTTP 连接,否则应该始终将此属性与所有 cookie 一起使用。

5、HttpOnly

此属性使 cookie 只能通过服务端访问。

因此,只有服务端可以通过响应头设置它们,然后浏览器会将它们与每个后续请求的头一起发送到服务器,并且它们将无法通过客户端 JavaScript 访问

这可以在一定程度上帮助保护带有敏感信息(如身份验证 token)的 cookie 免受 XSS 攻击,因为任何客户端脚本都无法读取 cookie。

但这并不意味着可以完全免受 XSS 攻击。因为,如果攻击者可以在网站上执行第三方脚本,那可能无法访问 cookie,相反,他们可以直接向服务端执行相关的 API 请求。

因此,想象一下用户访问了一个页面,黑客在网站上注入了恶意脚本。他们可以使用该脚本执行任何 API,并在他们不知道的情况下代表用户执行操作。

6、SameSite 标志(SameSite)

指定了浏览器是否应该将 cookie 与跨站点请求一起发送。

它可以设置为 Strict、Lax 或 None。

 

总结: 

这些属性中的大部分都是可选的,但通常建议至少设置名称、值和域属性来确保cookie 能够按预期工作。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1190406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明

文章目录 系统说明openEuler23.03系统手动配置ip流程修改名称生成网卡配置文件【openEuler23.03系统添加网卡文件配置流程】手动指定ip添加ipv6地址修改配置文件信息和名称删除创建的网卡信息重启网卡生效并测试 openEuler23.03系统网络管理说明 系统说明 我这用云上最小化安装…

网络编程套接字(3)——协议定制 | 序列化与反序列化

文章目录 一.认识“协议”1.协议的概念2.结构化数据的传输3.序列化和反序列化 二. 网络版计算器1.服务端2.协议定制(1) 网络发送和读取的正确理解(2) 协议定制的问题 3.客户端4.代码 三.Json实现序列化反序列化1.简单介绍2.使用 一.认识“协议” 1.协议的概念 协议&#xff0c…

【Proteus仿真】【Arduino单片机】简易计算器设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、4*4矩阵键盘等。 主要功能: 系统运行后,操作矩阵按键可实现简单四则运算。 二、软件设计 /* …

【修车案例】一波形一案例(9)

故障车型:捷豹X-Type 故障现象:发动机故障指示灯点亮,加速时动力不足,扫描工具显示EGR阀和涡轮增压器增压控制位置传感器电路故障 示波器诊断:检测增压控制位置传感器电路的完整性 A通道 - 增压控制执行电机电源电压B通…

20行JS代码实现屏幕录制

在开发中可能有遇到过屏幕录制的需求,无论是教学、演示还是游戏录制,都需要通过屏幕录制来记录和分享内容。一般在App内H5页基于客户端能力实现的较多,现在浏览器中的 MediaRecorder 也提供了这种能力。MediaRecorder 是一种强大的技术&#…

【JS】scrollTop+scrollHeight+clientTop+clientHeight+offsetTop+offsetHeight

scrollTop、scrollHeight、clientTop、clientHeight、offsetTop以及offsetHeight 1. scrollTop 与 scrollHeight 1.1 scrollTop scrollTop 是这六个属性中唯一一个可写的属性。 Element.scrollTop 属性可以获取或设置一个元素的内容垂直滚动的像素数。 一个元素的 scrollT…

2023年破圈:盘点11个新零售商业模式,永远不再打商业价格战

2023年破圈:盘点11个新零售商业模式,永远不再打商业价格战 前沿:纵观今年互联网各种类型项目,基本都是又短又快,但依然也有风靡的短跑冠军,那么互联网的项目能否跑的长久,是否是商业模式的原因&…

Linux学习第37天:Linux I2C 驱动实验:哥俩好

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 世界上的很多事物都是成双成对出现的。也包括在驱动开发的过程中,比如I2C中其实就是数据线和时钟线的相互配合才能完成的。 I2C常用于连接各种外设、…

开发知识点-Django

Django 1 了解简介2 Django项目结构3 url 地址 和视图函数4 路由配置5 请求及响应6 GET请求和POST请求查询字符串 7 Django设计模式及模板层8 模板层-变量和标签9 模板层-过滤器和继承继承 重写 10 url反向解析11 静态文件12 Django 应用及分布式路由创建之后 注册 一下 13 模型…

[MySQL] MySQL库的基础操作

文章目录 一、数据库的创建 1、1 库的创建 1、2 字符集与校验规则 1、2、1 查看字符集与校验规则 1、2、2 字符集与校验规则的设置 1、2、3 校验规则对数据库的影响 二、数据库的操作 2、1 查看数据库 2、2 删除数据库 2、3 修该数据库 2、4 数据库删除和备份 2、5 显示创建语…

基于OpenFOAM求解器二次开发

OpenFOAM(Open Field Operation and Manipulation)是一个开源的计算流体动力学(CFD)软件包。它提供了各种模拟和建模工具,用于研究和解决复杂的流体流动问题。 OpenFOAM提供了一个强大的求解器库,可以用于…

金融信贷行业如何准确——大数据精准定位获客渠道

通过大数据精准获客,不仅可以及时拦截网址浏览量,还可以访问移动贷款应用软件的高频活跃客户和新注册客户。此外,通过大数据进行准确的客户获取,还可以获得电话座机号码的实时通信记录,捕捉小程序应用程序和关键词搜索…

Kafka中遇到的错误:

1、原因:kafka是一个去中心化结果的,所以在启动Kafka的时候,每一个节点上都需要启动。 启动的命令:kafka-server-start.sh -daemon /usr/local/soft/kafka_2.11-1.0.0/config/server.properties

Windows 根据dll生成 lib文件

假设我们现在只有dll,没有lib ,因此有源码但是在Visual Studio 20XX中代码确编译不过去,因为缺少lib文件。 接下来,黄强老师来帮大家演示,如何从dll 反推 lib文件,打开这个工具 第一步,查看一下大概的函数,确认dll有你想要的函数 dumpbin /exports 你的.dll > f…

贺天下功夫酱酒闪耀亮相2023佛山秋色系列活动

11月1日至5日,2023年广东非遗周暨佛山秋色巡游系列活动在佛山举行,以“品味佛山 秋醉岭南”为主题,好戏连台。贵州贺天下酒业独家赞助佛山祖庙秋祭、乡饮酒礼,还全面参与佛山秋色巡游、佛山非遗美食展、佛山非遗音乐会等多个活动&…

vue3 - swiper插件 实现PC端的 视频滑动功能(仿抖音短视频)

swiper官网 ​​​​​​swiper属性/组件查询 vue中使用swiper 步骤&#xff1a; ① npm install swiper 安装 ② 基础模板&#xff1a; <div><swiper class"swiper-box" :direction"vertical":grabCursor"true" :mousewheel"tr…

强化学习中广义策略迭代

一、广义策略迭代 策略迭代包括两个同时进行的交互过程&#xff0c;一个使价值函数与当前策略保持一致&#xff08;策略评估&#xff09;&#xff0c;另一个使策略在当前价值函数下变得贪婪&#xff08;策略改进&#xff09;。在策略迭代中&#xff0c;这两个过程交替进行&…

在Word中优雅的给公式编号,且自动更新

本文适用情景&#xff1a; 使用Word插入公式&#xff1b;需要给公式增加编号&#xff1b;且在正文中引用&#xff0c;支持自动更新序号。 Word自带公式编号 1 Word自带公式编辑器1.1 问题1.2 原因完美解决 2 MathType公式编辑器end: 后记&#xff1a; 1 Word自带公式编辑器 或…

投资自己,成就未来——人大女王金融硕士助力您成为金融领域的佼佼者

在这个日新月异的时代&#xff0c;金融行业的发展日益繁荣&#xff0c;对于金融人才的需求也越来越大。为了应对这一挑战&#xff0c;越来越多的人选择投身金融领域&#xff0c;提升自己的专业素养。而中国人民大学女王金融硕士项目&#xff0c;正是为了满足这一需求而设立的&a…