news 2026/8/22 8:10:05

【小迪安全2023】day23 PHP应用后台模块SessionCookietoken身份验证唯一性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【小迪安全2023】day23 PHP应用后台模块SessionCookietoken身份验证唯一性

有待更新。。。

第23天 PHP应用&后台模块&Session&Cookie&token&身份验证&唯一性

演示案例

后台模块-身份验证-Cookie技术

后台模块-身份验证-Seession技术

后台模块-数据唯一性-Token技术

Cookie使用

1、客户端向服务器发送HTTP请求。

2、服务器检查请求头中是否包含cookie信息。

3、如果请求头中包含cookie信息,则服务器使用该cookie来识别客户端,否则服务器 将生成一个新的cookie。

4、服务器在响应头中设置cook1e信息并将其发送回客户端。

5、客户端接收响应并将cookie保存在本地。

6、当客户端发送下一次HTTP请求时,它会将cookie信息附加到请求头中。

7、服务器收到请求并检查cookie的有效性。

8、如果cookie有效,则服务器响应请求。否则,服务器可能会要求客户端重新登录

测试代码

admin-c.php

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>后台管理系统 - 登录</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; font-family: "Microsoft YaHei", Arial, sans-serif; } body { height: 100vh; background: linear-gradient(135deg, #2c3e50, #3498db); display: flex; justify-content: center; align-items: center; } .login-box { width: 360px; background: #fff; padding: 40px 30px; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .login-box h2 { text-align: center; margin-bottom: 30px; color: #333; } .login-box input { width: 100%; height: 42px; margin-bottom: 20px; padding-left: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; } .login-box input:focus { outline: none; border-color: #3498db; } .login-box button { width: 100%; height: 42px; background: #3498db; border: none; color: #fff; font-size: 16px; border-radius: 4px; cursor: pointer; } .login-box button:hover { background: #2980b9; } .login-footer { text-align: center; margin-top: 15px; font-size: 12px; color: #999; } </style> </head> <body> <div class="login-box"> <h2>后台管理系统</h2> <form action="" method="post"> <input type="text" name="username" placeholder="用户名" required> <input type="password" name="password" placeholder="密码" required> <button type="submit">登录</button> </form> <div class="login-footer"> © 2025 管理系统 </div> </div> </body> </html> <?php //登录文件 include '../config.php'; $user=$_POST['username']; $password=$_POST['password']; //连接数据库,进行查询 $sql="select * from admin where username='$user' and password='$password';"; echo '<br>'; //echo $sql; $data=mysqli_query($con,$sql); if($_SERVER['REQUEST_METHOD']=='POST') { //是否登陆成功 if(mysqli_num_rows($data)>0) { //成功登录才有cookie $expire = time()+60*60*24*30 ;//一个月后过期 setcookie('username',$user,$expire,'/'); setcookie('password',$password,$expire,'/'); // echo "<script>alert('登陆成功');</script>"; header("location:index-c.php"); }else{ echo "<script>alert('fail');</script>"; } }

index-c.php

<?php if($_COOKIE['username']=='admin' and $_COOKIE['password']=='123456') { } else { header("location:admin-c.php"); } ?> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>后台管理系统</title> <style> body { font-family: Arial, sans-serif; margin: 0; padding: 20px; background-color: #f4f4f4; } .header { background-color: #2c3e50; color: white; padding: 15px; text-align: center; border-radius: 5px; margin-bottom: 20px; } .logout-btn { background-color: #e74c3c; color: white; border: none; padding: 8px 16px; border-radius: 3px; cursor: pointer; float: right; margin-top: -35px; } .logout-btn:hover { background-color: #c0392b; } .content { background-color: white; padding: 20px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0,0,0,0.1); } .welcome { margin-bottom: 20px; } </style> </head> <body> <div class="header"> <h1>后台首页</h1> <a href="logout-c.php">退出登录</a> <div style="clear: both;"></div> </div> <div class="content"> <div class="welcome"> <h2>欢迎使用后台管理系统</h2> <p>当前登录用户:<?php echo $_COOKIE['username']?></p> <p>登录时间:<span id="login-time"></span></p> </div> <div> <h3>系统状态</h3> <ul> <li>用户总数:128</li> <li>今日访问量:245</li> <li>系统运行正常</li> </ul> </div> </div> <script> // 显示当前时间 document.getElementById('login-time').textContent = new Date().toLocaleString(); // 退出登录功能 function logout() { if(confirm("确定要退出登录吗?")) { alert("退出登录成功,正在跳转到登录页面..."); // 在实际应用中,这里应该跳转到登录页面 // window.location.href = "login.html"; } } </script> </body> </html> <?php //登陆成功的首页文件

logout-c.php

<?php //退出登录 //1.设置cookie为空,让之前的if语句为假,达到无法登录的效果 //2.也可以调用删除函数 setcookie('username','',time()-3600,'/'); setcookie('password','',time()-3600,'/'); header("location:admin-c.php"); exit();
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 2:11:14

重构智慧书-第18条:实力与实干

一、原文呈现实力与实干要得声名显赫&#xff0c;必须兼有实力与实干精神。有了这两者&#xff0c;显赫的声名就会如虎添翼。有实干精神的平庸之辈比无实千精神的高明之辈更有成就。实干创实绩。肯出大力者必得大名。有的人连最简单的事情也不肯下力去干。干与不干,差不多总与一…

作者头像 李华
网站建设 2026/8/20 23:13:15

读捍卫隐私08智能出行

1. 互联网电话 1.1. 和打印机一样&#xff0c;VoIP电话的系统更新也可以被伪造和接受 1.2. 大多数VoIP电话都有一个免提选项&#xff0c;让你可以在你的隔间或办公室中将某人的通话用扬声器播放 1.2.1. 意味着在电话听筒之外不仅有一个扬声器&#xff0c;还有一个麦克风 1.…

作者头像 李华
网站建设 2026/8/21 21:21:31

媒体专访实录:LobeChat创始人谈开源初心

LobeChat 技术架构深度解析&#xff1a;从容器化部署到插件生态的全栈实践 在大模型浪潮席卷全球的今天&#xff0c;AI 对话系统早已不再是实验室里的概念玩具。从客服机器人到个人助手&#xff0c;自然语言交互正成为数字世界的新入口。然而&#xff0c;当 OpenAI 的 ChatGPT …

作者头像 李华
网站建设 2026/8/21 5:24:41

小喵播放器 1.1.2| 一款支持视频超分的播放器,支持网页视频以及B站番剧

小喵播放器是一款基于mpv播放器内核的本地视频播放器&#xff0c;专为动漫观看场景进行优化。它集成了Anime4K实时超分辨率算法&#xff0c;在播放过程中对低分辨率动画进行画质增强。支持常见视频格式、字幕与音轨切换、播放记录、截图等基础播放器功能&#xff0c;并通过GLSL…

作者头像 李华
网站建设 2026/8/21 2:36:33

LobeChat待办事项提取与提醒功能实现

LobeChat待办事项提取与提醒功能实现 在日常使用聊天工具时&#xff0c;我们常常会随口说一句&#xff1a;“记得提醒我明天开会”或者“下周要交报告”。这些话听起来像是对 AI 的一次普通请求&#xff0c;但如果说完就忘&#xff0c;那它不过是一段被淹没在对话流中的信息碎…

作者头像 李华