小迪安全第二十三天-安全开发-PHP应用&后台模块Cookie&Session&Token

身份验证

Cookie(客户端存储技术)

生成cookie的原理过程

  1. 客户端向服务器发送HTTP请求。
  2. 服务器检查请求头中是否包含cookie信息。
  3. 如果请求头中包含cookie信息,则服务器使用该cookie来识别客户端,否则服务器将生成一个新的cookie。
  4. 服务器在响应头中设置cookie信息并将其发送回客户端。
  5. 客户端接收响应并将cookie保存在本地。
  6. 当客户端发送下一次HTTP请求时,它会将cookie信息附加到请求头中。
  7. 服务器收到请求并检查cookie的有效性。
  8. 如果cookie有效,则服务器响应请求。否则,服务器可能会要求客户端重新登录。

相关函数

  • setcookie(): 设置一个cookie并发送到客户端浏览器。
  • unset(): 用于删除指定的cookie。

案例-用cookie做后台身份验证

  • 创建表(这里是用于案例里账号密码写死)

  • 测试

    • 接受输入的帐号密码

    • 判断帐号密码正确性

    • 结果

  • cookie保存的是用户的浏览器上 攻击的目标就是用户本身

Session(服务器端会话管理技术)

生成session的原理过程

  1. 客户端向服务器发送HTTP请求。
  2. 服务器为客户端生成一个唯一的session ID,并将其存储在服务器端的存储器中(如文件、数据库等)。
  3. 服务器将生成的session ID作为一个cookie发送给客户端。
  4. 客户端将session ID保存为一个cookie,通常是在本地浏览器中存储。
  5. 当客户端在发送下一次HTTP请求时,它会将该cookie信息附加到请求头中,以便服务器可以通过该session ID来识别客户端。
  6. 服务器使用session ID来检索存储在服务器端存储器中的与该客户端相关的session数据,从而在客户端和服务器之间共享数据。

相关函数

  • session_start(): 启动会话,用于开始或恢复一个已经存在的会话。
  • $_SESSION: 用于存储和访问当前会话中的所有变量。
  • session_destroy(): 销毁当前会话中的所有数据。
  • session_unset(): 释放当前会话中的所有变量。
  • Session存储路径:PHP.INI中session.save_path设置路径

案例-用session做后台身份验证

  • seesion产生文件目录:phpstudy_pro\Extensions\tmp\tmp

  • session保存在服务器上

  • 登陆后有session 退出删除

Token(身份验证与授权技术)

  • token(令牌)是一种用于验证用户身份或授权访问的数字凭证

Token使用

  • 生成Token并将其存储在Session
  • 生成Token并将其绑定在Cookie触发
  • 尝试登录表单中带入Token验证逻辑

Token要满足:

  1. 唯一性:每个 Token 对应唯一用户会话

  2. 防篡改:加密签名防止数据被伪造

  3. 时效性:过期机制保障安全性

案例-Token做用户登录判断

  • 登陆有token值

  • 退出登陆token消失(唯一性)

  • Cookie和Session区别

  • 存储位置不同

    • Cookie是存储在客户端(浏览器)上的
    • Session是存储在服务器端的
  • 安全性不同

    • Cookie存储在客户端上,可能会被黑客利用窃取信息
    • Session存储在服务器上,更加安全。
  • 存储容量不同

    • Cookie的存储容量有限,一般为4KB
    • Session的存储容量理论上没有限制,取决于服务器的硬件和配置
  • 生命周期不同

    • Cookie可以设置过期时间,即便关闭浏览器或者重新打开电脑,Cookie仍然存在直到过期或者被删除
    • Session一般默认在浏览器关闭后就会过期
  • 访问方式不同

    • Cookie可以通过JavaScript访问
    • Session只能在服务器端进行访问。
  • 使用场景不同

    • Cookie一般用于存储小型的数据,如用户的用户名和密码等信息
    • Session一般用于存储大型的数据,如购物车、登录状态等信息。

参考文章:

相关推荐
Latticy8 小时前
vulnhub系列靶机-Photographer
网络·网络安全·内网渗透·内网
sbjdhjd12 小时前
PHP eval 型 RCE:flag 正则过滤与通配符绕过实操 | 01
安全·web安全·网络安全·开源·系统安全·php·网络攻击模型
数据知道13 小时前
静态分析入门——PE 结构、字符串、导入表快速定性
网络·安全·web安全·网络安全
芯盾时代15 小时前
金融新规全条款合规落地映射的解决方案
网络·网络安全·金融
慧都小项1 天前
从 Burp Suite Professional 到 DAST:把 Web 安全测试接入持续 AppSec 的工程化路径
测试工具·web安全·网络安全·burp suite
2501_915106321 天前
安卓抓包软件2026,免证书抓包 应用层抓包 代理抓包全解析
网络协议·计算机网络·网络安全·ios·adb·https·udp
严谨的麻辣烫1 天前
2026 年静态 IP 为什么重新受到关注?从住宅代理安全问题看固定网络出口
运维·服务器·tcp/ip·网络安全
菩提小狗1 天前
每日安全情报报告 · 2026-09-02
网络安全·漏洞·cve·安全情报·每日安全
0xBADCODE1 天前
CTF Writeup 合集
安全·web安全·网络安全·系统安全·密码学·php·ctf
数据知道1 天前
恶意软件分析实验室搭建——沙箱、快照、网络隔离
网络·安全·web安全·网络安全