news 2026/9/2 23:51:55

【小迪安全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/9/2 6:41:03

DAY38模型可视化与推理

import torch import torch.nn as nn import torch.optim as optim from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler import time import matplotlib.pyplot as plt# 设置GPU设…

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

LobeChat能否实现会议纪要自动生成?语音转录整合路径

LobeChat 与语音转录融合&#xff1a;构建会议纪要自动生成系统的实践路径 在远程办公常态化、跨时区协作日益频繁的今天&#xff0c;一场两小时的会议结束后&#xff0c;谁来整理那长达万字的录音&#xff1f;人工记录不仅耗时费力&#xff0c;还容易遗漏关键决策和待办事项。…

作者头像 李华
网站建设 2026/9/2 15:58:47

如何终极解决Windows依赖管理难题?完整系统依赖修复方案

如何终极解决Windows依赖管理难题&#xff1f;完整系统依赖修复方案 【免费下载链接】vcredist Lifecycle management for the Microsoft Visual C Redistributables 项目地址: https://gitcode.com/gh_mirrors/vcr/vcredist 你是否曾经遇到过这样的情况&#xff1a;安装…

作者头像 李华
网站建设 2026/9/2 10:24:15

LobeChat客服话术标准化生成系统

LobeChat客服话术标准化生成系统 在企业客户服务日益智能化的今天&#xff0c;一个常见的困境浮出水面&#xff1a;尽管AI对话系统已经能够流畅应答&#xff0c;但不同客户收到的回复却风格不一、口径混乱。某电商平台曾因客服机器人对“退货流程”的描述存在多个版本&#xff…

作者头像 李华
网站建设 2026/9/2 20:16:14

静态路由基础实验:3 台路由器 + 双 PC 的互通拓扑

今天分享一个经典的静态路由实验拓扑&#xff0c;适合刚入门网络的朋友练手 —— 用 3 台华为 AR 路由器&#xff08;AR1/AR2/AR3&#xff09;2 台 PC&#xff0c;实现不同网段的跨设备互通。一、拓扑信息速览先看拓扑里的关键 IP&#xff08;接口 网段&#xff09;&#xff1…

作者头像 李华