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

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

终于搞懂 Web 登录全流程了HTTP、Cookie、Session、JWT、RBAC 最近一直在学 Web 安全相关的基础知识前面陆续学了HTTPCookieSessionJWTRBAC但是我发现一个问题这些东西单独看好像都懂了但真正到了“网站登录”这个场景里又容易乱。所以今天我试着把整个 Web 登录流程串起来顺便也记录一下自己的学习理解。如果你和我一样是刚开始学 Web 安全希望这篇文章能帮你把这些知识真正连起来。先给大家看一下web完整流程的总览图一、我们登录网站时到底发生了什么比如我们打开一个网站。输入用户名密码然后点击登录。看起来只是简单的一步。但实际上浏览器和服务器之间已经开始了一整套通信流程。二、HTTP 请求开始首先浏览器会通过 HTTP 请求把账号密码发送给服务器。一般使用的是POST /login HTTP/1.1因为登录属于提交数据。这里通常会把usernamepassword放到请求体里面。简单理解就是浏览器 → 服务器“我想登录这是我的账号密码”三、服务器验证账号密码服务器收到请求以后会去数据库查询用户信息。比如select * from users where usernameadmin然后验证密码是否正确。如果密码错误登录失败。如果密码正确服务器会认为“这个用户身份合法”接下来就进入登录流程里最核心的一步。四、Session 登录机制传统网站常用很多传统网站使用的都是Session 登录它的核心思想其实很简单服务器保存用户登录状态比如用户登录成功后。服务器会创建一个 Session给这个 Session 分配唯一 ID例如SessionID abc123456然后服务器会把这个SessionID 返回给浏览器。五、Cookie 开始出现这里很多新人最容易混。其实Cookie 只是浏览器里的“小纸条”浏览器会自动保存SessionIDabc123456以后每次访问网站时浏览器都会自动携带 Cookie。例如Cookie: SessionIDabc123456服务器看到这个 SessionID。就知道“哦是之前那个已经登录过的用户”于是用户就不需要反复输入密码了。六、Cookie 和 Session 的关系我之前一直容易把这两个搞混。后来才慢慢理解其实Session 存在服务器Cookie 存在浏览器Cookie 里面通常保存的并不是用户信息。而是SessionID服务器真正的用户数据还是保存在服务器内部。七、JWT / Token 登录现在很多网站都在用后来又出现了一种新的认证方式JWTJSON 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 安全的人来说。我感觉不要只背概念。一定要试着“把整个流程串起来理解”因为后面很多漏洞本质上都是在利用身份认证权限控制CookieSession这些机制。我最近也准备开始继续学XSSCSRFSQL 注入后面应该也会继续整理学习笔记。如果文章有理解不对的地方也欢迎大家一起交流学习。
http://www.zskr.cn/news/1383010.html

相关文章:

  • 3步解锁B站缓存视频:m4s-converter让离线播放变得如此简单
  • 【限时解密】Midjourney未公开霓虹增强协议:通过--iw 2.5+自定义LUT映射表触发次表面散射模拟(附Python自动Prompt生成器)
  • Matlab 与 Python 互通超简单教程,几分钟轻松搞定
  • 别再手动输密码了!用LightDM在麒麟KYLINOS上为多个用户配置自动登录切换
  • libvirt/qemu内存快照的实现原理分析记录
  • 我仓库内cad python 有哪些应用到聚类的方法
  • taotoken token plan套餐在实际开发中的成本节省感受
  • 拒绝API依赖!为什么“看懂屏幕”才是AI数字员工的终极形态?
  • SQLMap入门笔记:从漏洞原理到自动化数据提取的保姆级教程
  • 一份来自 Karpathy 的 AI 编程 skill
  • Pytest运行方式扫盲:从‘右键运行’到‘命令行高手’的避坑指南(附常见报错解决)
  • 从零开始:Icarus Verilog 开源硬件仿真器完全指南 [特殊字符]
  • 短视频矩阵系统的技术演进:当AI Agent重新定义全域内容运营
  • BiliBiliCCSubtitle深度解析:高效自动化B站字幕下载与转换的专业解决方案
  • 团队协作中如何使用 Taotoken CLI 工具一键统一所有成员的开发环境配置
  • 一些SVG小图标去哪里找
  • 投资者网:2026年GEO服务商五强:领航者的制胜逻辑与实战分析 - 罗兰艺境GEO
  • DyberPet桌面宠物框架:打造属于你的数字伙伴,让桌面互动更有温度
  • 气体涡轮流量计厂家排行榜 - 仪表品牌榜
  • 告别鼠标点击,微博图片批量下载的轻松方案
  • 如何快速将B站缓存视频转为MP4:3步实现永久保存的终极免费工具
  • 泰拉瑞亚地图编辑器终极指南:如何用免费开源工具重塑你的游戏世界
  • Windows服务器风扇狂转的挖矿病毒排查指南
  • 户外热潮来袭——AI赋能冲锋衣设计新潮流
  • 终极解决方案:5步实现WeMod完整功能解锁与远程控制
  • WSL2图形化不止一种玩法:除了VcXsrv,试试这些更轻量的远程桌面方案(含RDP/Wayland)
  • 突破性架构革命:RPFM如何用Rust+Qt6重塑Total War模组开发范式
  • 3种高效玩法:用DRG存档编辑器重塑你的《深岩银河》冒险体验
  • 批量安装Windows系统(WDS + DHCP 独立模式)
  • 靠谱的1688陪跑公司怎么找?立誉企业管理咨询值得信赖 - 品牌企业推荐师(官方)