Advertisement
Guest User

Untitled

a guest
Jun 19th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.90 KB | None | 0 0
  1. <?
  2. include("config.php");
  3.  
  4. DbConnect(); //Connect to database
  5.  
  6. LoggingIn(); //Check to see whether their is a login request, if so, process it.
  7.  
  8. global $requiresLogIn;
  9. global $pageAccess;
  10.  
  11. if($requiresLogIn == 1)
  12. {
  13.     global $user;
  14.     $user = IsLogged($pageAccess); //Check if the user is logged in.
  15. }
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22. function IsLogged($pageAccess=0)
  23. {
  24.     if(isset($_COOKIE['ms_session']))
  25.     {
  26.         $session = SanitizeString($_COOKIE['ms_session']);
  27.         $sql = 'select * from ms_users where `session` = "'.$session.'"';
  28.         $result = mysql_query($sql);
  29.         if(mysql_num_rows($result) == 0)
  30.         {
  31.             header("Location: index.php?msg=Please Login");
  32.         }else{
  33.             global $settings;
  34.             $row = mysql_fetch_assoc($result);
  35.             mysql_free_result($result);
  36.             if(time() < ($row['lastactive']+($settings['inactive']*60)))
  37.             {
  38.                 if($_SERVER['REMOTE_ADDR'] == $row['user_ip'])
  39.                 {
  40.                     if(strpos($pageAccess,',') > 0) //More than one pageAccess level
  41.                     {
  42.                         $pageAccess = explode(',',$pageAccess);
  43.                         if(in_array($row['user_type'], $pageAccess))
  44.                         {
  45.                             $sql = "UPDATE `ms_users` SET `lastactive` = '".time()."' WHERE `session` = '".$session."'";
  46.                             mysql_query($sql);
  47.                             return $row;
  48.                         }else{
  49.                             header("Location: index.php?msg=No access");
  50.                         }  
  51.                     }else{
  52.                         if($row['user_type'] == $pageAccess){
  53.                             $sql = "UPDATE `ms_users` SET `lastactive` = '".time()."' WHERE `session` = '".$session."'";
  54.                             mysql_query($sql);
  55.                             return $row;
  56.                         }else{
  57.                             header("Location: index.php?msg=No access");
  58.                         }
  59.                     }
  60.                 }else{
  61.                     header("Location: index.php?msg=IP changed");
  62.                 }
  63.             }else{
  64.                 header("Location: index.php?msg=Session expired");
  65.             }
  66.         }
  67.     }else{
  68.         header("Location: index.php?msg=Please Login");
  69.     }
  70. }
  71.  
  72.  
  73. # Attempting to login?
  74. function LoggingIn()
  75. {
  76.     if(isset($_POST['Login'])){ //Login button pressed
  77.         if(isset($_POST['username']))
  78.         {
  79.         $error='';
  80.             if(isset($_POST['password']))
  81.             {
  82.                 if($_POST['username'] == 'User Name') //No user entered
  83.                 {
  84.                     $error .= "<br>Please enter a username...";
  85.                 }elseif($_POST['password'] == 'Password') //No password entered
  86.                 {
  87.                     $error .= "<br>Please enter a password...";
  88.                 }else{ //Attempted to login,  user and password entered...
  89.                    
  90.                     $user = SanitizeString($_POST['username']);
  91.                     $pass = myPass($_POST['password']);
  92.                    
  93.                     $sql = 'select `username`,`password`,`user_type` from ms_users where `username` = "'.$user.'" and `password` = "'.$pass.'"';
  94.                     $result = mysql_query($sql);
  95.                     if(mysql_num_rows($result) == 0)
  96.                     {
  97.                         $error .= '<br>Invalid login';
  98.                     }else{ //Login = Good.
  99.                         $row = mysql_fetch_assoc($result);
  100.                         mysql_free_result($result);
  101.                         if($row['user_type'] != 0){
  102.                             $session = md5($_SERVER['REMOTE_ADDR'] . rand(0,9999999) . $pass);
  103.                             setcookie("ms_session", $session);
  104.                             $sql = "UPDATE `ms_users` SET `session` = '".$session."',`user_ip` = '".$_SERVER['REMOTE_ADDR']."', `lastactive` = '".time()."' WHERE `username` = '".$user."'";
  105.                             mysql_query($sql);
  106.                             header("Location: main.php");
  107.                         }else{
  108.                             header("Location: index.php?msg=Banned");
  109.                         }
  110.                     }              
  111.                 }          
  112.             }else{
  113.                 $error .= "<br>No password entered";
  114.             }
  115.             if(strlen($error) > 3) { echo substr($error, 4, strlen($error)); }
  116.         }  
  117.     }
  118. }
  119.  
  120.  
  121.  
  122.  
  123.  
  124. # Password
  125. function myPass($str)
  126. {
  127.     global $pw;
  128.     return substr(md5(md5($str) . $pw['salt']), 0, 29);
  129. }
  130.  
  131. # Filtering
  132. function SanitizeString($str)
  133. {
  134.   $str = preg_replace("/[^a-zA-Z0-9_-]/", "", $str);
  135.   return $str;
  136. }
  137.  
  138.  
  139. # Skin
  140. function skinItem($item)
  141. {
  142.     if(file_exists('skin/' . $item . '.txt'))
  143.     {
  144.         include('skin/' . $item . '.txt');
  145.     }else{
  146.         echo 'Unable to access item: ' . $item;
  147.     }
  148. }
  149.  
  150.  
  151.  
  152. # MySql Database
  153. function DbConnect()
  154. {
  155. global $db;
  156. global $link;
  157.     $link= mysql_connect($db['server'], $db['user'], $db['pass']) or header("Location: error.php?code=0");
  158.     mysql_select_db($db['name']) or header("Location: error.php?code=1");
  159. }
  160.  
  161. function DbClose()
  162. {
  163.     global $link;
  164.     mysql_close($link);
  165. }
  166.  
  167.  
  168.  
  169. # Time
  170. function time_diff_simple($timestamp){
  171.        $difference = time() - $timestamp;
  172.  
  173.        if($difference < 60)
  174.            return $difference." seconds ";
  175.        else{
  176.            $difference = round($difference / 60);
  177.            if($difference < 60)
  178.                return $difference." minutes ";
  179.            else{
  180.                $difference = round($difference / 60);
  181.                if($difference < 24)
  182.                    return $difference." hours ";
  183.                else{
  184.                    $difference = round($difference / 24);
  185.                    if($difference < 7)
  186.                        return $difference." days ";
  187.                    else{
  188.                        $difference = round($difference / 7);
  189.                        return $difference." weeks ";
  190.                    }
  191.                }
  192.            }
  193.        }
  194. }
  195.  
  196. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement