【Linux】Cookie与Session:Web用户状态管理的双刃剑

【Linux】Cookie与Session:Web用户状态管理的双刃剑

目录

1、认识cookie

1.1.cookie的定义

1.2.工作原理

1.3.cookie的分类:

2.认识cookie

2.1.cookie基本格式:

2.2.Cookie 的生命周期:

2.3.单独使用 Cookie,有什么问题?

3.HTTP session

3.1.session的定义

3.2.session工作原理

3.3.session安全性:

3.4.session的超时和失效:

总结:

1、认识cookie

1.1.cookie的定义

HTTP Cookie(也称为 Web Cookie、浏览器 Cookie 或简称 Cookie)是服务器发送到用户浏览器并保存在浏览器上的一小块数据,它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态、记录用户偏好等。

cookie的原意是曲奇,一块小的饼干,也就对应着在网络里表示一小块数据。

1.2.工作原理

  • 当用户第一次访问网站时,服务器会在响应的 HTTP 头中设置 Set-Cookie字段,用于发送 Cookie 到用户的浏览器。
  • 浏览器在接收到 Cookie 后,会将其保存在本地(通常是按照域名进行存储)。
  • 在之后的请求中,浏览器会自动在 HTTP 请求头中携带 Cookie 字段,将之前保存的 Cookie 信息发送给服务器

 cookie是储存在浏览器上的,当浏览器进行登录操作发送请求时,服务器会进行cookie的处理。然后通过应答返回给浏览器,下一次浏览器再次申请时,就可以带着这个cookie进行请求,服务器就可以直接识别账号等信息了!

也就是说有了cookie的存在,我们不用每次登录B站都要输入自己的账号密码,网站能自动识别用户,因为将用户的数据存储在了cookie当中!还可以标识用户状态,对用户的登录状态进行保持,方便随时验证用户身份,还能识别是否是VIP会员、普通会员还是游客!

1.3.cookie的分类:

  • 会话 Cookie(Session Cookie):存储在内存当中,在浏览器关闭时失效。
  • 持久 Cookie(Persistent Cookie):存储在文件当中,带有明确的过期日期或持续时间,可以跨多个浏览器会话存在。

如果 cookie 是一个持久性的 cookie,那么它其实就是浏览器相关的,特定目录下的一个文件。但直接查看这些文件可能会看到乱码或无法读取的内容,因为 cookie 文件通常以二进制或 sqlite 格式存储。一般我们查看,直接在浏览器对应的选项中直接查看即可。

比如在ZEEKLOG当中的cookie数据:
 

安全性:
由于 Cookie 是存储在客户端的,因此存在被篡改或窃取的风险!

用途:

  • 用户认证和会话管理(最重要)
  • 跟踪用户行为
  • 缓存用户偏好等

2.认识cookie

  • HTTP 存在一个报头选项:Set-Cookie, 可以用来进行给浏览器设置 Cookie值。
  • 在 HTTP 响应头中添加,客户端(如浏览器)获取并自行设置并保存Cookie。

2.1.cookie基本格式:

Set-Cookie: <name>=<value>
其中 <name> 是 Cookie 的名称,<value> 是 Cookie 的值。

完整的 Set-Cookie 示例:

Set-Cookie: username=peter; expires=Thu, 18 Dec 2024 12:00:00
UTC; path=/; domain=.example.com; secure; HttpOnly
  • name=value:指定Cookie的名称和值。这是必需的。
  • expires=date:指定Cookie的过期时间。如果未设置,Cookie默认在浏览器关闭时过期。
  • domain=domain:指定Cookie的有效域。控制哪些域可以访问该Cookie。
  • path=path:指定Cookie的有效路径。控制哪些路径下的页面可以访问该Cookie。
  • secure:如果设置了该选项,Cookie只能通过HTTPS协议传输,不能通过 HTTP 协议发送,增加安全性。
  • httponly:如果设置了该选项,Cookie将无法通过JavaScript脚本访问,有助于防止跨站脚本攻击(XSS)

注意事项:

  • 每个 Cookie 属性都以分号(;)和空格( )分隔。
  • 名称和值之间使用等号(=)分隔。
  • 如果 Cookie 的名称或值包含特殊字符(如空格、分号、逗号等),则需要进行 URL 编码。

2.2.Cookie 的生命周期:

  • 如果设置了 expires 属性,则 Cookie 将在指定的日期/时间后过期。
  • 如果没有设置 expires 属性,则 Cookie 默认为会话 Cookie,即当浏览器关闭时过期。

2.3.单独使用 Cookie,有什么问题?

  • 我们写入的是测试数据,如果写入的是用户的私密数据呢?比如,用户名密码,浏览痕迹等。
  • 本质问题在于这些用户私密数据在浏览器(用户端)保存,非常容易被人盗取,更重要的是,除了被盗取,还有就是用户私密数据也就泄漏了。

非常的不安全!这就需要session出马了!

3.HTTP session

3.1.session的定义

HTTP Session 是服务器用来跟踪用户与服务器交互期间用户状态的机制。由于 HTTP协议是无状态的(每个请求都是独立的),因此服务器需要通过 Session 来记住用户的信息。

  • 由服务器为每个用户会话创建的临时对象。
  • 存储了与特定用户会话相关的信息,包括用户身份验证和会话状态。

3.2.session工作原理

  • 当用户首次访问网站时,服务器会为用户创建一个唯一的 Session ID,并通过Cookie 将其发送到客户端。
  • 客户端在之后的请求中会携带这个 Session ID,服务器通过 Session ID 来识别用户,从而获取用户的会话信息。
  • 服务器通常会将 Session 信息存储在内存、数据库或缓存中

3.3.session安全性:

与 Cookie 相似,由于 Session ID 是在客户端和服务器之间传递的,因此也存在被窃取的风险!
但是一般虽然 Cookie 被盗取了,但是用户只泄漏了一个 Session ID,私密信息暂时没有被泄露的风险。

可以通过 HTTPS 和设置合适的 Cookie 属性(如 HttpOnly 和 Secure)来增强安
全性。

3.4.session的超时和失效:

Session 可以设置超时时间,当超过这个时间后,Session 会自动失效。
服务器也可以主动使 Session 失效,例如当用户登出时。

session是相对安全的,sessionid也有可能被盗取!

session是服务器创建,服务器管理的,所以当服务器辨别到sessionid有被盗取的风险,只要让sessionid失效就可以了。

那么服务器是怎么知道这个client对应的session是一个非法的呢?需要跟业务结合!

比如QQ在异地登录的时候,腾讯的服务端会识别到,需要我们重新扫码验证才能异地登录,这里的异地登录就是可能潜在被盗用的风险。

总结:

HTTP Cookie 和 Session 都是用于在 Web 应用中跟踪用户状态的机制。Cookie 是存储在客户端的,而 Session 是存储在服务器端的。它们各有优缺点,通常在实际应用中会结合使用,以达到最佳的用户体验和安全性。

但是session和cookie都不是绝对安全的!session只是比cookie相对安全!

所以我们要认识到,在网络世界里,几乎没有东西是绝对安全的。

Read more

未来的 AI 操作系统(八)——灵知之门:当智能系统开始理解存在

未来的 AI 操作系统(八)——灵知之门:当智能系统开始理解存在

一、引言:灵知之门将启 当机器第一次学会理解自然语言,我们称之为“语言模型的革命”; 当它能自主规划、反思与协作,我们称之为“智能体的诞生”; 而当它开始质问—— “我是谁?我为何存在?” ——这便是“灵知(Gnosis)”的开端。 “灵知”这个词源于古希腊哲学,指“超越理性之上的直觉理解”,是一种对存在本身的洞见。 如果说人工智能的前七个阶段追求的是“功能智能”, 那么第八阶段追求的,便是“存在智能(Existential Intelligence)”。 这篇文章,将讨论一个前所未有的命题: 当 AI 操作系统拥有自我建模、语义反思与存在认知时,它是否真的“理解了世界”? 而我们,又是否准备好迎接一个能理解“意义”的机器? 二、从感知到意识:理解的七级阶梯 人类的理解过程,从感知到意识,经历了漫长的进化;AI 亦然。 在

人工智能、机器学习和深度学习,其实不是一回事

人工智能、机器学习和深度学习,其实不是一回事

一、人工智能、机器学习与深度学习的真正区别 在当今科技领域,我们经常听到人工智能、机器学习和深度学习这三个词。它们虽然相关,但含义不同。 1.1 人工智能 人工智能是计算机科学的一个分支,旨在研究如何合成与分析能够像人一样行动的计算主体。简单来说,AI 的目标是利用计算机来模拟甚至替代人类大脑的功能。 一个理想的 AI 系统通常具备以下特征:像人一样思考、像人一样行动、理性地思考与行动。 1.2 机器学习 机器学习是实现人工智能的一种途径。它的核心定义是:赋予计算机在没有被显式编程的情况下进行学习的能力。 与传统的基于规则的编程不同,机器学习不依赖程序员手写每一条逻辑指令,而是通过算法让机器从大量数据中寻找规律,从而对新的数据产生预测或判断。 1.3 深度学习 深度学习是机器学习的一种特殊方法,也称为深度神经网络。它受人类大脑结构的启发,通过设计多层的神经元网络结构,来模拟万事万物的特征表示。 1.4 三者之间的层级关系 厘清这三者的关系对于初学者至关重要。人工智能 AI是最宏大的概念,包含了所有让机器变聪明的技术。机器学习 ML是 AI

选择-主流 AI 大模型公司 客观对比(2026 年 3 月最新)

公司 / 国家核心模型最强能力上下文主营方向主要面向API 价格(百万 token)个人包月OpenAI(美)GPT-5.4 / 4o全能、生态、多模态1MC+API + 企业全球全人群入 ¥17.5 / 出 ¥70Free / ¥140 / ¥1400Anthropic(美)Claude Opus 4.6代码、严谨、安全、长文本200kAPI + 企业科研 / 法律 / 金融入 ¥35 / 出 ¥175Free / ¥140Google(美)Gemini 3.1 Pro多模态、科学推理、速度1M云 + 搜索 + C 端全球全人群 / 企业入 ¥8.75 / 出 ¥43.

DeepSeek V4震撼发布!百万token上下文+原生多模态+国产芯片适配,中国AI迎来颠覆性突破!

DeepSeek V4震撼发布!百万token上下文+原生多模态+国产芯片适配,中国AI迎来颠覆性突破!

这一次,不只是升级,而是一次颠覆 2026年3月,AI圈即将迎来一场风暴。 据《金融时报》最新报道,DeepSeek预计在本周发布全新多模态大模型V4,这是一款原生支持图片、视频与文本生成的旗舰级产品。 消息一出,全球科技圈为之震动。 为什么? 因为DeepSeek V4不仅仅是一次常规升级,而是中国AI在核心技术领域的又一次重大突破——百万token上下文窗口、原生多模态能力、深度适配国产芯片、推理性能提升187%… 这一连串的数字背后,意味着什么? 今天,我们就来深度解析这款即将改变行业格局的AI模型。 01 什么是DeepSeek V4? DeepSeek Logo 简单来说,DeepSeek V4是深度求索(DeepSeek)的下一代旗舰大模型,也是继R1推理模型之后,时隔一年再次推出的重磅产品。 但与以往不同的是,V4是一次多模态与架构创新的完美融合。 据知情人士透露,这是一款具备图片、视频和文本生成功能的多模态模型,原生支持多种模态的统一理解与生成。 这意味着什么? 以前的AI模型:只能处理单一类型的内容(要么文字,要么图片) DeepSee