zoukankan      html  css  js  c++  java
  • PHP 登录类

     1 class Auth
     2 {
     3     var $user_id;
     4     var $username;
     5     var $password;
     6     var $ok;
     7     var $salt = "34asdf34";
     8     var $domain = ".domain.com";
     9  
    10     function Auth()
    11     {
    12         global $db;
    13  
    14         $this->user_id = 0;
    15         $this->username = "Guest";
    16         $this->ok = false;
    17  
    18         if(!$this->check_session()) $this->check_cookie();
    19  
    20         return $this->ok;
    21     }
    22  
    23     function check_session()
    24     {
    25         if(!empty($_SESSION['auth_username']) && !empty($_SESSION['auth_password']))
    26             return $this->check($_SESSION['auth_username'], $_SESSION['auth_password']);
    27         else
    28             return false;
    29     }
    30  
    31     function check_cookie()
    32     {
    33         if(!empty($_COOKIE['auth_username']) && !empty($_COOKIE['auth_password']))
    34             return $this->check($_COOKIE['auth_username'], $_COOKIE['auth_password']);
    35         else
    36             return false;
    37     }
    38  
    39     function login($username, $password)
    40     {
    41         global $db;
    42         $db->query("SELECT user_id FROM users WHERE username = '$username' AND password = '$password'");
    43         if(mysql_num_rows($db->result) == 1)
    44         {
    45             $this->user_id = mysql_result($db->result, 0, 0);
    46             $this->username = $username;
    47             $this->ok = true;
    48  
    49             $_SESSION['auth_username'] = $username;
    50             $_SESSION['auth_password'] = md5($password . $this->salt);
    51             setcookie("auth_username", $username, time()+60*60*24*30, "/", $this->domain);
    52             setcookie("auth_password", md5($password . $this->salt), time()+60*60*24*30, "/", $this->domain);
    53  
    54             return true;
    55         }
    56         return false;
    57     }        
    58  
    59     function check($username, $password)
    60     {
    61         global $db;
    62         $db->query("SELECT user_id, password FROM users WHERE username = '$username'");
    63         if(mysql_num_rows($db->result) == 1)
    64         {
    65             $db_password = mysql_result($db->result, 0, 1);
    66             if(md5($db_password . $this->salt) == $password)
    67             {
    68                 $this->user_id = mysql_result($db->result, 0, 0);
    69                 $this->username = $username;
    70                 $this->ok = true;
    71                 return true;
    72             }
    73         }            
    74         return false;
    75     }
    76  
    77     function logout()
    78     {
    79         $this->user_id = 0;
    80         $this->username = "Guest";
    81         $this->ok = false;
    82  
    83         $_SESSION['auth_username'] = "";
    84         $_SESSION['auth_password'] = "";
    85  
    86         setcookie("auth_username", "", time() - 3600, "/", $this->domain);
    87         setcookie("auth_password", "", time() - 3600, "/", $this->domain);
    88     }
    89  
    90 }
  • 相关阅读:
    SCRUM团队
    SCRUM的四大支柱
    SCRUM的五个价值观
    SCRUM的五个事件
    SCRUM的三个工件
    SCRUM团队的三个角色
    经验性过程
    Windows UWP开发系列 – RelativePanel
    Windows UWP开发系列 – 控件默认样式
    Windows UWP开发系列 – 3D变换
  • 原文地址:https://www.cnblogs.com/xcc2016/p/5799506.html
Copyright © 2011-2022 走看看