当前位置: 首页 > news >正文

七张图看懂 Web 登录全过程:HTTP、Cookie、Session、JWT、RBAC 全串起来了

终于搞懂 Web 登录全流程了(HTTP、Cookie、Session、JWT、RBAC )

最近一直在学 Web 安全相关的基础知识,前面陆续学了:

  • HTTP
  • Cookie
  • Session
  • JWT
  • RBAC

但是我发现一个问题:

这些东西单独看好像都懂了,但真正到了“网站登录”这个场景里,又容易乱。

所以今天我试着把整个 Web 登录流程串起来,顺便也记录一下自己的学习理解。

如果你和我一样是刚开始学 Web 安全,希望这篇文章能帮你把这些知识真正连起来。

先给大家看一下web完整流程的总览图:

一、我们登录网站时到底发生了什么?

比如:我们打开一个网站。

输入:

  • 用户名
  • 密码

然后点击登录。

看起来只是简单的一步。

但实际上浏览器服务器之间已经开始了一整套通信流程。

二、HTTP 请求开始

首先:浏览器会通过 HTTP 请求,把账号密码发送给服务器。

一般使用的是:POST /login HTTP/1.1

因为登录属于提交数据。

这里通常会把:

  • username
  • password

放到请求体里面。

简单理解就是:

浏览器 → 服务器
“我想登录,这是我的账号密码”

三、服务器验证账号密码

服务器收到请求以后:

会去数据库查询用户信息。

比如:

select * from users where username='admin'

然后验证密码是否正确。

如果密码错误:登录失败。

如果密码正确,服务器会认为:“这个用户身份合法”

接下来就进入登录流程里最核心的一步。

四、Session 登录机制(传统网站常用)

很多传统网站使用的都是:Session 登录

它的核心思想其实很简单:服务器保存用户登录状态

比如:用户登录成功后。

服务器会:

  • 创建一个 Session
  • 给这个 Session 分配唯一 ID

例如:

SessionID = abc123456

然后:

服务器会把这个SessionID 返回给浏览器

五、Cookie 开始出现

这里很多新人最容易混。

其实:

Cookie 只是浏览器里的“小纸条”

浏览器会自动保存:SessionID=abc123456

以后每次访问网站时:浏览器都会自动携带 Cookie。

例如:

Cookie: SessionID=abc123456

服务器看到这个 SessionID。

就知道:“哦,是之前那个已经登录过的用户”

于是用户就不需要反复输入密码了。

六、Cookie 和 Session 的关系

我之前一直容易把这两个搞混。

后来才慢慢理解:

其实:

Session 存在服务器

Cookie 存在浏览器

Cookie 里面通常保存的并不是用户信息。而是:SessionID

服务器真正的用户数据:还是保存在服务器内部。

七、JWT / Token 登录(现在很多网站都在用)

后来又出现了一种新的认证方式:JWT(JSON Web Token)

尤其现在:

  • 前后端分离
  • App
  • 小程序
  • API接口

非常常见。

JWT 和 Session 最大区别是:服务器不再保存 Session

而是:直接生成一个 Token 给客户端。

例如:eyJhbGciOi...

客户端自己保存。

以后请求时:主动携带 Token。

例如:Authorization: Bearer xxx

服务器验证 Token 是否合法。

如果合法:就认为用户已经登录。

八、为什么会出现 JWT?

因为 Session 有一些问题。

比如:

  • 服务器压力大
  • 分布式麻烦
  • 多台服务器共享 Session 比较复杂

所以:

JWT 更适合现代项目。

九、RBAC 权限控制

登录成功以后,并不代表:用户能访问所有功能。

比如:

普通用户:只能看内容

管理员:

  • 能删除数据
  • 能进入后台

这里就会用到:RBAC(基于角色的权限控制)

简单理解:

用户角色权限

例如:

admin → 管理员 → 删除用户
user → 普通用户 → 浏览页面

服务器会根据角色判断:这个用户有没有权限访问某个资源。

十、这些知识为什么和 Web 漏洞有关?

学到这里我突然发现:

很多 Web 漏洞其实都和这些东西有关。

比如:

XSS

攻击者可以偷 Cookie。

如果 Cookie 里保存的是 SessionID。

攻击者可能直接冒充用户登录。

CSRF

浏览器会自动携带 Cookie。

攻击者就可能利用用户身份发起恶意请求。

越权漏洞

如果 RBAC 做得不好。

普通用户可能访问管理员接口。

十一、我目前对整个流程的理解

现在我会把整个 Web 登录理解成:

HTTP负责通信
Cookie保存身份标识
Session/JWT负责认证
RBAC负责权限控制

以前这些知识点是分散的,现在终于能串起来一点了。

十二、总结

对于刚学 Web 安全的人来说。

我感觉:不要只背概念。

一定要试着:“把整个流程串起来理解”

因为后面很多漏洞,本质上都是在利用:

  • 身份认证
  • 权限控制
  • Cookie
  • Session

这些机制。

我最近也准备开始继续学:

  • XSS
  • CSRF
  • SQL 注入

后面应该也会继续整理学习笔记。

如果文章有理解不对的地方,也欢迎大家一起交流学习。

http://www.jsqmd.com/news/885575/

相关文章:

  • YOLOv8垃圾分类识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)
  • 高速时间交织型模数转换器设计【附方案】
  • 5个步骤快速上手ParsecVDisplay:Windows虚拟显示器的终极指南
  • 测试环境的“熵增定律”:为什么环境总会越来越乱?
  • CODcr水质在线自动监测仪厂家排行榜:2026年国产品牌实力对标与选型实战指南 - 仪表品牌排行榜
  • 利用Taotoken实现Agent工作流中多模型灵活调度
  • 别再手动输密码了!用LightDM在麒麟KYLINOS上为多个用户配置自动登录切换
  • 告别多头对接!DMXAPI 为企业打造国产大模型 “统一入口”
  • 城通网盘直连解析终极方案:3分钟告别龟速下载
  • 在 Python 项目中快速接入多模型 API 并管理调用成本
  • 终极指南:如何使用OmenSuperHub让你的惠普暗影精灵游戏本性能全开
  • 想学好渗透?23 个黑客必备攻防靶场合集
  • 5分钟快速上手:Highlighter浏览器扩展终极指南 - 免费网页高亮工具
  • 【2026 收藏版】大模型进阶必备:图 RAG(Graph RAG)原理 + 三种实现 + 电商实战,小白也能看懂
  • BetterJoy终极指南:3分钟让你的Switch手柄变身PC游戏神器
  • 中山南岸声学:23 年技术沉淀 定义汽车音响改装行业四大天花板 - 汽车音响改装
  • Python 入门教程系列
  • NBTExplorer:让Minecraft数据编辑从专业工具变成人人可用的可视化平台
  • Matlab 与 Python 互通超简单教程,几分钟轻松搞定
  • 嵌入式研究工程师全覆盖技能清单|从入门到资深的完整技术树
  • day-006-列表入门
  • 如何高效获取Qobuz无损音乐:终极Hi-Res音乐下载工具指南
  • go slice在函数间的传递模式
  • Linux文件系统与权限超详解:inode、软硬链接、文件权限、用户组、底层原理
  • 无人驾驶汽车高速工况智能决策与轨迹规划与跟踪控制方法【附代码】
  • C++ STL源码阅读(持续更新)
  • 记录一次 Windows + WSL2 网络异常:WSL 无法访问局域网节点的排查与修复
  • 电子电路工程师工作全解析:从原理图到量产的硬核全过程
  • 整理录音证据总太慢写不完?专业整理对比评测告诉你方法
  • 程序员相亲,我说用AI写代码,对方以为我吹牛