Advertisement
Guest User

Untitled

a guest
May 7th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.01 KB | None | 0 0
  1. <?
  2.  
  3. if(!defined("IN_SCRIPT")) die("Hacking Attempt!");
  4.  
  5.  
  6. $ME['login'] = '0';
  7. $ME['ip'] = $_SERVER['REMOTE_ADDR'];
  8. $ME['browser'] = $_SERVER['HTTP_USER_AGENT'];
  9. $ME['id'] = '0';
  10.  
  11. //validate username & password if send, so user can login
  12. if(isset($_GET['login'])){
  13.     if(isset($_POST['login_username']) && isset($_POST['login_password'])){
  14.         $username = $_POST['login_username'];
  15.         $password = sha1(stripslashes($_POST['login_password']));
  16.         $autologin = isset($_POST['autologin']) ? true : false;
  17.        
  18.         $sql = "SELECT * FROM `".TBL_USERS."` WHERE username='".$username."' LIMIT 1";
  19.         $query = mysql_query($sql);
  20.         if($ds = mysql_fetch_array($query)){
  21.             if($password == $ds['password']){
  22.                
  23.                 $sid = $f->rand_string(50);
  24.                 $zid = $f->rand_string(10);
  25.                
  26.                 $czid = sha1($ds['username'].$ds['password'].$zid);
  27.                
  28.                 $jetzt = time();
  29.                
  30.                 $sql = "INSERT INTO `".TBL_SESSIONS."` SET
  31.                     sid='".$sid."',
  32.                     zid='".$zid."',
  33.                     uid='".$ds['id']."',
  34.                     datum='".$jetzt."',
  35.                     ip='".$ME['ip']."'
  36.                 ";
  37.                 $query = mysql_query($sql);
  38.                 if($query){
  39.                     if($autologin){
  40.                         setcookie(COOKIE_PREFIX."sid", $sid, $jetzt+(365*24*60*60));
  41.                         setcookie(COOKIE_PREFIX."zid", $czid, $jetzt+(365*24*60*60));
  42.                     }else{
  43.                         setcookie(COOKIE_PREFIX."sid", $sid);
  44.                         setcookie(COOKIE_PREFIX."zid", $czid);
  45.                     }
  46.                     $f->redirect("/");
  47.                 }else{
  48.                     //mysql-error
  49.                 }
  50.             }else{
  51.                 //incorrect username/_password_
  52.                
  53.             }
  54.         }else{
  55.             //incorrect _username_/password
  56.            
  57.         }
  58.     }else{
  59.        
  60.     }
  61. }
  62.  
  63. //validate cookies if set
  64. if(isset($_COOKIE[COOKIE_PREFIX.'sid']) && isset($_COOKIE[COOKIE_PREFIX.'zid'])){
  65.     $csid = $_COOKIE[COOKIE_PREFIX.'sid'];
  66.     $czid = $_COOKIE[COOKIE_PREFIX.'zid'];
  67.     if(preg_match('/^[a-zA-Z0-9]+$/',$csid) && preg_match('/^[a-f0-9]+$/i',$czid)){
  68.         $sql = "SELECT * FROM `".TBL_SESSIONS."` WHERE sid='".$csid."' LIMIT 1";
  69.         $query = mysql_query($sql);
  70.         if($ds = mysql_fetch_array($query)){
  71.             $uid = $ds['uid'];
  72.             $zid = $ds['zid'];
  73.            
  74.             unset($ds);
  75.             unset($query);
  76.             $sql = "SELECT * FROM `".TBL_USERS."` WHERE id='".$uid."' LIMIT 1";
  77.             $query = mysql_query($sql);
  78.             if($ds = mysql_fetch_array($query)){
  79.                 $password = $ds['password'];
  80.                 $username = $ds['username'];
  81.                 $nzid = sha1($username.$password.$zid);
  82.                 if($nzid == $czid){
  83. @@                  $ME['login'] = '1'; //cookies are absolutely okay
  84.                     $ME['id'] = $uid;
  85.                     $levels = explode(" ",$ds['level']);
  86.                     foreach($levels as $level){
  87.                         if(trim($level) != ""){
  88.                             if(preg_match('/^(.+)=(.+)$/', $level, $ret)){
  89.                                 $ME['level'][$ret[1]] = $ret[2];
  90.                             }else{
  91.                                 $ME['level'][$level] = "1";
  92.                             }
  93.                         }
  94.                     }
  95.                 }
  96.                 unset($ds);
  97.                 unset($query);
  98.             }
  99.         }
  100.     }
  101. }
  102.  
  103. if(isset($_GET['logout'])){
  104.     if($ME['login']){
  105.         $sql = "DELETE FROM `".TBL_SESSIONS."` WHERE uid='".$ME['id']."'";
  106.         $query = mysql_query($sql);
  107.     }
  108.     setcookie(COOKIE_PREFIX."sid", '', time()-1000);
  109.     setcookie(COOKIE_PREFIX."zid", '', time()-1000);
  110.     $f->redirect("/");
  111. }
  112.  
  113. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement