daily pastebin goal
65%
SHARE
TWEET

Untitled

a guest Dec 23rd, 2017 192 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3.     class login
  4.     {
  5.    
  6.         public function logUser($user, $pw)
  7.         {
  8.             $checkUser = $this->userValidate($user);
  9.             $checkPass = $this->passValidate($pw);
  10.             $pw = $this->passSalt($pw, '123456789', 1, $user);
  11.            
  12.             if($checkUser)
  13.             {
  14.                 $query = "SELECT * FROM users WHERE"
  15.                         . " userName = '" . $user . "'"
  16.                         . " AND password = '" . $pw . "'";
  17.                        
  18.                 $result = mysql_query($query)or trigger_error(mysql_error());
  19.                
  20.                
  21.                
  22.                 if(mysql_num_rows($result) != 1)
  23.                 {
  24.                
  25.                     $_SESSION['error']['login'] = 'Invalid Login';    
  26.                     return false;
  27.                    
  28.                 } else {
  29.                    
  30.                     $row = mysql_fetch_assoc($result);
  31.                     $_SESSION['userName'] = $row['userName'];
  32.                     return true;
  33.                    
  34.                 }
  35.                 return false;
  36.             }
  37.             return false;
  38.         }
  39.        
  40.         public function register($arr)
  41.         {
  42.            
  43.             unset($arr['register']);
  44.            
  45.             $cnt = count($arr);
  46.             $i = 1;
  47.            
  48.             $query = "INSERT INTO users SET";
  49.                     foreach($arr as $k => $v)
  50.                     {
  51.                         if($i < $cnt)
  52.                         {
  53.                             $query .= " " . $k . " = '" . $v .  "',";
  54.                             $i++;
  55.                         } else {
  56.                             $query .= " " . $k . " = '" . $v . "'";
  57.                         }
  58.                        
  59.                     }
  60.            
  61.             $result = mysql_query($query)or trigger_error(mysql_error());
  62.                    
  63.         }
  64.        
  65.         public function regForm()
  66.         {
  67.            
  68.             $form = array(
  69.                     'text' => array(
  70.                             'Desired UserName' => 'userName',
  71.                             'First Name' => 'fName',
  72.                             'Last Name' => 'lName',
  73.                             'E-mail' => 'email',
  74.                             'Confirm Email' => 'emailConf'
  75.                                     ),
  76.                              'password' => array(
  77.                              'Password' => 'password',
  78.                              'Confirm Password' => 'passwordConf'
  79.                                     )
  80.                              );
  81.            
  82.             return $form;
  83.            
  84.         }
  85.        
  86.         public function sanitize($arr)
  87.         {
  88.        
  89.             foreach($arr as $k => $v)
  90.             {
  91.                 $arr[$k] = mysql_real_escape_string(trim($v));
  92.             }
  93.            
  94.             return $arr;
  95.        
  96.         }
  97.        
  98.         public function desanitize($var)
  99.         {
  100.        
  101.             $var = stripslashes($var);
  102.            
  103.             return $var;
  104.        
  105.         }
  106.        
  107.         public function passUnSalt($user)
  108.         {
  109.             $query = "SELECT DATE_FORMAT(created, '%Y%m%d') as `created` FROM users WHERE userName = '" . $user . "'";
  110.             $result = mysql_query($query)or trigger_error(mysql_error());
  111.             if(mysql_num_rows($result) == 1)
  112.             {
  113.                 $row = mysql_fetch_assoc($result);
  114.                 $date = $row['created'];
  115.                 return $date;
  116.                
  117.             } else {
  118.                 echo 'invalid unsalt';
  119.             }
  120.         }
  121.        
  122.         public function passSalt($pw, $staticSalt, $log=NULL, $user=NULL)
  123.         {
  124.             if($log == 1)
  125.             {
  126.                 $dynamicSalt = $this->passUnSalt($user);
  127.                
  128.             } else {
  129.                 $dynamicSalt = date('Ymd');
  130.             }
  131.             $passwordLength = strlen($pw);
  132.             $split = $passwordLength / 2;
  133.             $passwordArr = str_split($pw, $split);
  134.             $hash = sha1($passwordArr[0] . $staticSalt . $passwordArr[1] . $dynamicSalt);
  135.             return $hash;
  136.            
  137.         }
  138.        
  139.         public function passValidate($pw1, $pw2=NULL, $minlen=5, $maxlen=32)
  140.         {
  141.            
  142.             if(strlen($pw1) == 0)
  143.             {
  144.                 $_SESSION['error']['reg']['password'] = 'Password is Blank';
  145.                 return false;
  146.             }
  147.            
  148.             if(isset($pw2))
  149.             {
  150.                 if($pw1 != $pw2)
  151.                 {
  152.                
  153.                     $_SESSION['error']['reg']['password'] = 'Passwords Don\'t Match';
  154.                     return false;
  155.                
  156.                 }
  157.             }
  158.            
  159.             if(strlen($pw1) < $minlen)
  160.             {
  161.            
  162.                 $_SESSION['error']['reg']['password'] = 'Password too Short - Need at least ' . $minlen . ' Characters';
  163.                 return false;
  164.            
  165.             }
  166.            
  167.             if(strlen($pw1) > $maxlen)
  168.             {
  169.            
  170.                 $_SESSION['error']['reg']['password'] = 'Password too Long - ' . $maxlen . ' Characters Max';
  171.                 return false;
  172.            
  173.             } else {
  174.            
  175.                 unset($_POST['passwordConf']);
  176.                 return true;
  177.                
  178.             }
  179.            
  180.             return false;
  181.        
  182.         }
  183.        
  184.         public function emailValidate($em1, $em2)
  185.         {
  186.        
  187.             if(strlen($em1) == 0)
  188.             {
  189.                 $_SESSION['error']['reg']['email'] = 'E-mail is blank';
  190.                 return false;
  191.             }
  192.            
  193.             if($em1 != $em2)
  194.             {
  195.                 $_SESSION['error']['reg']['email'] = 'E-mail addresses do not match';
  196.                 return false;
  197.             }
  198.             $regex = "/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/";
  199.             if(!preg_match($regex, $em1))
  200.             {
  201.                 $_SESSION['error']['reg']['email'] = 'Invalid E-mail format';
  202.                 return false;
  203.             } else {
  204.                    
  205.                 unset($_POST['emailConf']);
  206.                 return true;
  207.            
  208.             }
  209.            
  210.             return false;
  211.        
  212.         }
  213.        
  214.         public function userValidate($user, $minlen=4, $maxlen=20)
  215.         {
  216.            
  217.             $query = "SELECT userName FROM users WHERE userName = '" . $maxlen . "'";
  218.            
  219.             $result = mysql_query($query);
  220.            
  221.             $row = mysql_num_rows($result);
  222.            
  223.             if($row == 0)
  224.             {
  225.                 $regex = "/[^a-z0-9_.-]/i";
  226.                 if(preg_match($regex,$user))
  227.                 {
  228.                     $_SESSION['error']['reg']['userName'] = 'Invalid Username';
  229.                     return false;
  230.                 }
  231.                
  232.                 if(strlen($user) == 0)
  233.                 {
  234.                     $_SESSION['error']['reg']['userName'] = 'Username is blank';
  235.                     return false;
  236.                 }
  237.                
  238.                 if(strlen($user) < $minlen)
  239.                 {
  240.                     $_SESSION['error']['reg']['userName'] = 'Username is too short - Need at least ' .$minlen. ' Characters';
  241.                     return false;
  242.                 }
  243.                
  244.                 if(strlen($user) > $maxlen)
  245.                 {
  246.                     $_SESSION['error']['reg']['userName'] = 'Username is too long - Need at least ' .$maxlen. ' Characters';
  247.                     return false;
  248.                 } else {
  249.                     return true;
  250.                 }
  251.                 return false;
  252.             } else {
  253.                
  254.                 $_SESSION['error']['reg']['userName'] = 'Username already exists';
  255.                 return false;
  256.                
  257.             }
  258.        
  259.         }
  260.    
  261.     }
  262.  
  263. ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top