• کلاس لاگین PHP
    #1
    Note 
    کد php:
    class Auth
    {
        var 
    $user_id;
        var 
    $username;
        var 
    $password;
        var 
    $ok;
        var 
    $salt "34asdf34";
        var 
    $domain ".domain.com";
     
        function 
    Auth()
        {
            global 
    $db;
     
            
    $this->user_id 0;
            
    $this->username "Guest";
            
    $this->ok false;
     
            if(!
    $this->check_session()) $this->check_cookie();
     
            return 
    $this->ok;
        }
     
        function 
    check_session()
        {
            if(!empty(
    $_SESSION['auth_username']) && !empty($_SESSION['auth_password']))
                return 
    $this->check($_SESSION['auth_username'], $_SESSION['auth_password']);
            else
                return 
    false;
        }
     
        function 
    check_cookie()
        {
            if(!empty(
    $_COOKIE['auth_username']) && !empty($_COOKIE['auth_password']))
                return 
    $this->check($_COOKIE['auth_username'], $_COOKIE['auth_password']);
            else
                return 
    false;
        }
     
        function 
    login($username$password)
        {
            global 
    $db;
            
    $db->query("SELECT user_id FROM users WHERE username = '$username' AND password = '$password'");
            if(
    mysql_num_rows($db->result) == 1)
            {
                
    $this->user_id mysql_result($db->result00);
                
    $this->username $username;
                
    $this->ok true;
     
                
    $_SESSION['auth_username'] = $username;
                
    $_SESSION['auth_password'] = md5($password $this->salt);
                
    setcookie("auth_username"$usernametime()+60*60*24*30"/"$this->domain);
                
    setcookie("auth_password"md5($password $this->salt), time()+60*60*24*30"/"$this->domain);
     
                return 
    true;
            }
            return 
    false;
        }        
     
        function 
    check($username$password)
        {
            global 
    $db;
            
    $db->query("SELECT user_id, password FROM users WHERE username = '$username'");
            if(
    mysql_num_rows($db->result) == 1)
            {
                
    $db_password mysql_result($db->result01);
                if(
    md5($db_password $this->salt) == $password)
                {
                    
    $this->user_id mysql_result($db->result00);
                    
    $this->username $username;
                    
    $this->ok true;
                    return 
    true;
                }
            }            
            return 
    false;
        }
     
        function 
    logout()
        {
            
    $this->user_id 0;
            
    $this->username "Guest";
            
    $this->ok false;
     
            
    $_SESSION['auth_username'] = "";
            
    $_SESSION['auth_password'] = "";
     
            
    setcookie("auth_username"""time() - 3600"/"$this->domain);
            
    setcookie("auth_password"""time() - 3600"/"$this->domain);
        }
     


    پاسخ
    ایجاد موضوع جدید   پاسخ به موضوع  

    کاربرانِ درحال بازدید از این موضوع:   1 مهمان