php通过会话控制实现身份验证实例

(编辑:jimmy 日期: 2024/10/2 浏览:2)

会话控制的思想就是指能够在网站中根据一个会话跟踪用户。这里整理了详细的代码,有需要的小伙伴可以参考下。

概述

http 协议是无状态的,对于每个请求,服务端无法区分用户。PHP 会话控制就是给了用户一把钥匙(一个加密session字符串),同时这也是用户身份的一个证明,服务端存放了这把钥匙能打开的箱子(数据库,内存数据库或者使用文件做的),箱子里面装的就是用户的各个变量信息。

传统的php session 使用

<"hello,codekissyoung!";
//这里的可以将$_SESSION理解为用户的箱子,实际的实现是php在服务器端生成的小文件
"htmlcode">
<"bey,codekissyoung!";
"htmlcode">
<"htmlcode">
<"htmlcode">
<"localhost", "root", "","auth"); 
if(mysqli_connect_errno()){ 
  echo '连接数据库失败:'.mysqli_connect_error(); 
  exit(); 
} 
//执行SQL查询语句 
$query="SELECT * FROM authorized_users WHERE name='".$userid."' and password=sha1('".$password."')"; 
$result=$db_conn->query($query); 
if($result->num_rows>0){ 
  //注册一个会话变量 
  $_SESSION['valid_user']=$userid; 
} 
//断开数据库连接 
$db_conn->close(); 
} 
"UTF-8"> 
  <title>身份验证</title> 
</head> 
<body> 
<h1>主页</h1> 
<"logout.php">退出登录</a><br/>'; 
}else{ 
  if(isset($userid)){ 
    echo '您没有登录成功'; 
  }else{ 
    echo '您还没有登录<br/>'; 
  } 
  "post" action="authmain.php"> 
    <p>用户名:<input type="text" name="userid"></p> 
 
    <p>密码:<input type="password" name="password"></p> 
 
    <p><input type="submit" name="submit" value="登录"></p> 
  </form> 
<"members_only.php">登录进入</a> 
 
</body> 
</html> 

网站的有效用户检查:members_only.php

<!DOCTYPE html> 
<html> 
<head> 
  <meta charset="UTF-8"> 
  <title>身份验证</title> 
</head> 
<body> 
<"<p>".$_SESSION['valid_user'].",您好,您已经登录成功</p>"; 
  echo '<p>会员可享受折扣优惠</p>'; 
}else{ 
  echo '<p>您还没有登录成功</p>'; 
  echo '<p>只有登录成功才能查看此页</p>'; 
} 
echo '<a href="authmain.php">返回主页</a>'; 
"htmlcode">
<"UTF-8"> 
  <title>退出登录</title> 
</head> 
<body> 
<h1>您退出登录了!</h1> 
<"authmain.php">返回主页</a> 
</body> 
</html> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。