Advertisement
Guest User

Untitled

a guest
Aug 5th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.41 KB | None | 0 0
  1. <?php
  2. //if ($debug==true){"<br />"
  3.         $ignore_redirect = true;
  4.         //'Initialize' SQLcraft
  5.         include_once '../init.php';
  6. if ($debug==true){echo '<br /><b>Whether or not to ignore the <i>potential</i> redirect to the login screen</b>';}
  7. if ($debug==true){echo '<br>'; if($ignore_redirect==true){echo '$ignore_redirect==true';}elseif($ignore_redirect==false){echo '$ignore_redirect==false';}else{echo '$ignore_redirect is returning no value';}}
  8.    
  9.         ob_start();
  10.  
  11. if ($debug==true){echo '<br /><br /><b>Sets $valid_login to false by default</b>';}
  12.         $valid_login = false;
  13. if ($debug==true){echo "<br />";if($valid_login==true){echo '$valid_login==true';}elseif($valid_login==false){echo '$valid_login==false';}else{echo '$valid_login is returning no value';}}
  14.  
  15.         //username and password sent from form
  16. if ($debug==true){echo '<br /><br /><b>Username and password from login form</b>';}
  17.         $auth_username = $_POST['auth_username'];
  18. if ($debug==true){echo '<br />$auth_username='.$auth_username.'';}
  19.         $auth_password = $_POST['auth_password'];
  20. if ($debug==true){echo '<br />$auth_password='.$auth_password.'';}
  21.  
  22. if ($debug==true){echo '<br /><br /><b>Defines $db_username and $db_password to avoid undefined variable issues</b>';}
  23.         $db_username = '';
  24. if ($debug==true){echo '<br />$db_username='.$db_username.' <- This should be blank';}
  25.         $db_password = '';
  26. if ($debug==true){echo '<br />$db_password='.$db_password.' <- This should be blank';}
  27.    
  28.     // To protect MySQL injection (copy+paste from w3schools, slight modification)
  29. if ($debug==true){echo '<br /><br /><b>Some stuff from w3schools to protect against database injection, dont really understand what it does</b>';}
  30.         $auth_username = stripslashes($auth_username);
  31. if ($debug==true){echo '<br />$auth_username=stripslashes('.$auth_username.')';}
  32.         $auth_password = stripslashes($auth_password);
  33. if ($debug==true){echo '<br />$auth_password=stripslashes('.$auth_password.')';}
  34.         $auth_username = mysql_real_escape_string($auth_username);
  35. if ($debug==true){echo '<br />$auth_username=mysql_real_escape_string('.$auth_username.')';}
  36.         $auth_password = mysql_real_escape_string($auth_password);
  37. if ($debug==true){echo '<br />$auth_password=mysql_real_escape_string('.$auth_password.')';}
  38.  
  39. if ($debug==true){echo '<br /><br /><b>Encrypts the password using a md5 hash</b>';}
  40.         $auth_password = md5($auth_password);
  41. if ($debug==true){echo '<br />$auth_password=md5('.$auth_password.')';}
  42.  
  43. if ($debug==true){echo '<br /><br /><b>SQLcrafts local SQLite database</b>';}
  44.         $db = '../sqlcraft.db';
  45. if ($debug==true){echo '<br />$db='.$db.'';}
  46.  
  47. if ($debug==true){echo '<br /><br /><b>Invisibly open the database file</b>';}
  48.         $db = new SQLite3($db);
  49.  
  50. if ($debug==true){echo '<br /><br /><b>This is where the invisible database access starts. Its selecting the row that matches the submitted login info (if any)</b>';}
  51.         $result = $db->query("SELECT * FROM users WHERE username='$auth_username' and password='$auth_password'");
  52.             while($row = $result->fetchArray(SQLITE3_ASSOC))
  53.             {
  54. if ($debug==true){echo '<br /><br /><b>And this is where the invisible database access ends</b>';}
  55.  
  56. if ($debug==true){echo '<br /><br /><b>The results from the database query</b>';}
  57. if ($debug==true){echo '<br />uid='.$row['uid'].'';}
  58.                 $db_username    =   $row['username'];
  59. if ($debug==true){echo '<br />$db_username='.$row['username'].'';}
  60.                 $db_password    =   $row['password'];
  61. if ($debug==true){echo '<br />$db_password='.$row['password'].'';}
  62.                 $valid_login    =   true;
  63. if ($debug==true){echo "<br />";if($valid_login==true){echo '$valid_login==true';}elseif($valid_login==false){echo '$valid_login==false';}else{echo '$valid_login is returning no value';}}
  64.             };
  65.  
  66. if ($debug==true){echo '<br /><br /><b>Invisible if confirming that  the submitted username and password are valid. Sets the cookie</b>';}
  67.         if ($auth_username = $db_username and $auth_password = $db_password and $valid_login == true)
  68.         {
  69.         // Register $auth_username, $auth_password and redirect to file "login_success.php"
  70. if ($debug==true){echo '<br /><br /><b>The token for the cookie! Two random numbers resulting in two 32char md5 hashes concatenated together for a 64char token</b>';}
  71.             $db_token_1 = rand(1000000,9999999);
  72.             $db_token_1 = md5($db_token_1);
  73. if ($debug==true){echo '<br />'.$db_token_1.'';}
  74.             $db_token_2 = rand(1000000,9999999);
  75.             $db_token_2 = md5($db_token_2);
  76. if ($debug==true){echo '<br />'.$db_token_2.'';}
  77.             $db_token = ($db_token_1.$db_token_2);
  78. if ($debug==true){echo '<br />'.$db_token.'';}
  79.  
  80.             $db->exec(" UPDATE users SET token='".$db_token."' WHERE username='".$db_username."' ");
  81. if ($debug==true){echo '<br />'.$db_token.'';}
  82.             $db_token=$db_token;
  83. if ($debug==true){echo "<br /> $db_token";}
  84.             setcookie("sqlcraft", "$db_token", time()+1800);
  85. if ($debug==true){echo "<br /> $db_token";}
  86. if ($debug==true){echo '<br />'.$_COOKIE['sqlcraft'].'';}
  87.             //echo("$auth_username,$auth_password,$db_username,$db_password");
  88. if ($debug==false){header("location:login_success.php");}
  89. if ($debug==true){echo '<br /><br /><b>The end of that if</b>';}
  90.         }
  91.         else
  92.         {
  93.             session_start();
  94.             $valid_login = false;
  95. if ($debug==true){echo "<br />";if($valid_login==true){echo '$valid_login==true';}elseif($valid_login==false){echo '$valid_login==false';}else{echo '$valid_login is returning no value';}}
  96.             $_SESSION['valid_login'] = $valid_login;
  97.  
  98. if ($debug==false){header("location:../index.php");}
  99.         }
  100.         ob_end_flush();
  101. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement