Guest User

Untitled

a guest
Nov 18th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. <?php
  2. // 可登陆用户列表,按照规则一行一条,用户名必须小写 密码(区分大小写)为md5加密后的结果(不区分大小写)
  3. UserAuth::$controlPrefix = 'UserAuth_';
  4. UserAuth::$adminUserList = array(
  5. 'admin' => 'e10adc3949ba59abbe56e057f20f883e' // 密码 123456
  6. );
  7.  
  8. UserAuth::Check(); // 只有调用此函数才能 对页面登录信息进行验证
  9.  
  10. class UserAuth {
  11. static $controlPrefix = 'UserAuth_'; // 如与程序其他程序使用有冲突 则修改此区分
  12. static $adminUserList = array(); // 可登陆用户列表,按照规则一行一条,用户名必须小写 密码(区分大小写)为md5加密后的结果(不区分大小写)
  13.  
  14. // 验证页面状态 执行此方法才会开启
  15. static public function Check(){
  16. if(!isset($_SESSION)) session_start(); // 开启 SESSION
  17.  
  18. // 判断是否有控制命令
  19. if(empty($_GET[self::$controlPrefix.'Cmd'])){
  20. // 未设置命令 则判断是否登录,未登录则跳转到登录页面,否则不做处理
  21. if(empty($_SESSION[self::$controlPrefix.'LoginAdminName'])){
  22. // 未登录,跳转到登陆页面
  23. self::Location('?'.self::$controlPrefix.'Cmd=Login');
  24. }
  25. }else{
  26. // 获取提交的cmd 命令并转化为小写
  27. $UserAuth_Cmd = strtolower($_GET[self::$controlPrefix.'Cmd']);
  28. // 命令为退出登录
  29. if($UserAuth_Cmd == 'logout'){
  30. unset($_SESSION[self::$controlPrefix.'LoginAdminName']); // 清空 SESSION 账号信息
  31. self::Location($_SERVER['PHP_SELF']); // 跳转到主页
  32. }else if($UserAuth_Cmd == 'login'){ // 指令为登录
  33. // 判断是否Post 提交数据
  34. if(!empty($_POST['username'])){
  35. // 验证POST的账号密码正确性
  36. $username = empty($_POST['username']) ? '' : strtolower($_POST['username']); // 账号转换为小写
  37. $password = empty($_POST['password']) ? '' : md5($_POST['password']); // 密码转换为md5
  38.  
  39. if(!empty(self::$adminUserList[$username]) && $password == self::$adminUserList[$username]){
  40. $_SESSION[self::$controlPrefix.'LoginAdminName'] = $username;
  41. self::Location($_SERVER['PHP_SELF']);
  42. }else{
  43. $LoginMsg = 'UserName or PassWord Error!';
  44. }
  45. }
  46. // 输出登录HTML 表单
  47. header("Content-type: text/html; charset=utf-8");
  48. if(!empty($LoginMsg)) echo $LoginMsg . '<br />';
  49. die('<form action="" method="POST">UserName:<input type="text" name="username"/><br />PassWord:<input type="password" name="password"/><br /><input type="submit" value="Login"/></form>');
  50. }
  51. }
  52.  
  53. }
  54.  
  55. // 获取登录菜单
  56. static public function GetMenu(){
  57. $username = $_SESSION[self::$controlPrefix.'LoginAdminName'];
  58. $prex = self::$controlPrefix;
  59. $retStr = "<div id=\"{$prex}info\" style=\"position: fixed; right: 0px; top: 0px;\">";
  60. $retStr.= "{$username}&nbsp;|&nbsp;<a href=\"?{$prex}Cmd=Logout\" >Logout</a><hr/></div>";
  61. return $retStr;
  62. }
  63. // 内部方法 跳转到地址
  64. function Location($Url){
  65. header('location: ' . $Url);
  66. exit;
  67. }
  68. }
Add Comment
Please, Sign In to add comment