Advertisement
Guest User

Untitled

a guest
May 13th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.28 KB | None | 0 0
  1. <?php
  2. class MySession
  3. {
  4.     // Creates a session
  5.     function Create($id = NULL, $username = NULL, $password = NULL, $cookie = FALSE) {
  6.         $_SESSION['id']     = $id;
  7.         $_SESSION['username']   = $username;
  8.         $_SESSION['password']   = md5($password);
  9.         $_SESSION['sid']    = md5(rand(1,1000) . rand(1,100) . rand(1,10));
  10.         $insert_session = "UPDATE `users`
  11.                    SET `session_id` = '".mysql_real_escape_string($_SESSION['sid'])."'
  12.                    WHERE `id` = '".mysql_real_escape_string($id)."';";
  13.         mysql_query($insert_session) or die('Error: ' . mysql_error());
  14.         // We create the cookie here
  15.         if($cookie!=FALSE){
  16.         $expire=time()+60*60*24*30;
  17.         setcookie("id",     $_SESSION['id'],        $expire);
  18.         setcookie("username",   $_SESSION['username'],  $expire);
  19.         setcookie("password",   $_SESSION['password'],  $expire);
  20.         setcookie("sid",    $_SESSION['sid'],       $expire);
  21.         }
  22.         // Done Creating a happy cookie
  23.     }
  24.     // Validates a session with the db
  25.     function Validate($id = NULL, $username = NULL, $password = NULL, $sid = NULL) {
  26.         $fail=FALSE;
  27.         if(isset($_SESSION['username'])) {
  28.             $id     = $_SESSION['id'];
  29.             $username   = $_SESSION['username'];
  30.             $password   = $_SESSION['password'];
  31.             $sid        = $_SESSION['sid'];
  32.         } elseif(isset($_COOKIE['username'])) {
  33.             $id     = $_COOKIE['id'];
  34.             $username   = $_COOKIE['username'];
  35.             $password   = $_COOKIE['password'];
  36.             $sid        = $_COOKIE['sid'];
  37.         } elseif(isset($id)==TRUE && isset($username)==TRUE && isset($password)==TRUE && isset($sid)==TRUE) {
  38.             // do nothing, the values have been passed to this function, validate the values.
  39.         }else {
  40.             $fail=TRUE;
  41.         }
  42.         $sql = "SELECT *
  43.                 FROM `users`
  44.                 WHERE
  45.                 `username`  = '".mysql_real_escape_string($username)."' AND
  46.                 `password`  = '".mysql_real_escape_string($password)."' AND
  47.                 `session_id`    = '".mysql_real_escape_string($sid)."' AND
  48.                 `ID`        = '".mysql_real_escape_string($id)."' LIMIT 0,1;";
  49.         $result = mysql_query($sql) or die('Error: ' . mysql_error());
  50.         $count = mysql_num_rows($result);
  51.        
  52.         if($count==1 && $fail==FALSE) {
  53.             return TRUE;
  54.         }
  55.         else {
  56.             return FALSE;
  57.         }
  58.        
  59.     }
  60.     // Login the user
  61.     function Login($username = NULL, $password = NULL) {
  62.         $sql =  "SELECT *
  63.                 FROM users
  64.                 WHERE `username` = '".mysql_real_escape_string($username)."'
  65.                 AND `password` = '".md5($password)."'
  66.                 LIMIT 0,1;";
  67.         $sqlresult  = mysql_query($sql) or die('Error: ' . mysql_error());
  68.         $count      = mysql_num_rows($sqlresult);
  69.         $user_row   = mysql_fetch_assoc($sqlresult);
  70.         if($count==1) {
  71.             return $user_row['ID'];
  72.         }
  73.         else {
  74.             return FALSE;
  75.         }
  76.     }
  77.     // Logout the user
  78.     function Logout($id = NULL, $username = NULL, $password = NULL, $sid = NULL) {
  79.         if(isset($id)==FALSE && isset($username)==FALSE && isset($password)==FALSE && isset($sid)==FALSE) {
  80.             $id     = $_SESSION['id'];
  81.             $username   = $_SESSION['username'];
  82.             $password   = $_SESSION['password'];
  83.             $sid        = $_SESSION['sid'];
  84.         }
  85.         if(Validate()==TRUE) {
  86.             $sql = "UPDATE `users`
  87.                     SET `session_id` = 'NULL'
  88.                     WHERE `ID` = 'ID';";
  89.             mysql_query($sql);
  90.             session_destroy();
  91.             setcookie("id",     "",     time()-3600);
  92.             setcookie("username",   "",     time()-3600);
  93.             setcookie("password",   "",     time()-3600);
  94.             setcookie("sid",    "",     time()-3600);
  95.             return TRUE;
  96.         } else {
  97.             return FALSE;
  98.         }
  99.     }
  100. }
  101. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement