Guest User

Untitled

a guest
Feb 18th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.57 KB | None | 0 0
  1. <?php
  2.  
  3. $servername = "localhost";
  4. $username = "whatever";
  5. $password = "whatever";
  6. $dbname = "whatever";
  7.  
  8. try {
  9.  
  10. $db = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  11.  
  12.  
  13. $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  14. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  15.  
  16.  
  17. $salt = bin2hex(random_bytes(strlen($_POST["providedpass"])));
  18. $hashpsw = hash('sha256', $_POST["providedpass"].$salt);
  19.  
  20. $name = $_POST["usrnm"];
  21.  
  22.  
  23. $stmt = $db->prepare("INSERT INTO users (username, password, salt, level) VALUES (?,?,?,?)");
  24.  
  25. if ($stmt->execute(array($name,$hashpsw, $salt, 1))) {
  26.  
  27. echo "USER CREATED";
  28. }
  29.  
  30.  
  31. $db = null;
  32.  
  33. } catch (PDOException $e){
  34.  
  35. echo "Error: " . $e->getMessage();
  36. }
  37.  
  38.  
  39. ?>
  40.  
  41. <?php
  42.  
  43. $servername = "localhost";
  44. $username = "whatever";
  45. $password = "whatever";
  46. $dbname = "whatever";
  47.  
  48. try {
  49.  
  50.  
  51. $db = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  52.  
  53.  
  54.  
  55. $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  56. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  57.  
  58.  
  59. $stmt = $db->prepare("SELECT * FROM users WHERE username = ?");
  60.  
  61.  
  62.  
  63. $providedname= $_POST["usrnm"];
  64.  
  65. $stmt->execute(array($providedname));
  66.  
  67. while($row = $stmt->fetch(PDO::FETCH_OBJ)){
  68.  
  69. echo "FOUND USER";
  70.  
  71. $hashpsw = hash('sha256', $_POST["providedpass"].$row->salt);
  72.  
  73. if($hashpsw == $row->password) {
  74.  
  75. echo "CORRECT CREDENTIALS";
  76.  
  77. }
  78.  
  79.  
  80.  
  81.  
  82.  
  83. }
  84.  
  85. $db = null;
  86.  
  87. } catch (PDOException $e){
  88.  
  89. echo "Error: " . $e->getMessage();
  90.  
  91. }
  92. ?>
  93.  
  94. <?php
  95.  
  96. $servername = "localhost";
  97. $username = "whatever";
  98. $password = "whatever";
  99. $dbname = "whatever";
  100. $charset = 'utf8mb4';
  101.  
  102. $options = [
  103. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  104. PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  105. PDO::ATTR_EMULATE_PREPARES => false,
  106. ];
  107. $dsn = "mysql:host=$servername;dbname=$dbname;charset=$charset";
  108. try {
  109. $db = new PDO($dsn, $username, $password, $options);
  110. } catch (PDOException $e) {
  111. throw new PDOException($e->getMessage(), (int)$e->getCode());
  112. }
  113.  
  114. require 'db.php';
  115. $hashpsw = password_hash($_POST["providedpass"],);
  116.  
  117. $stmt = $db->prepare("INSERT INTO users (username, password, level) VALUES (?,?,?)");
  118. $stmt->execute(array($_POST["usrnm"], $hashpsw, 1));
  119. echo "USER CREATED";
  120.  
  121. require 'db.php';
  122. $stmt = $db->prepare("SELECT * FROM users WHERE username = ?");
  123. $stmt->execute([$_POST['usrnm']]);
  124. $user = $stmt->fetch();
  125.  
  126. if ($user && password_verify($_POST['providedpass'], $user['password']))
  127. {
  128. echo "FOUND USER";
  129. }
Add Comment
Please, Sign In to add comment