Advertisement
Guest User

Untitled

a guest
Nov 23rd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. <?php
  2. if (isset($_POST['login'])) {
  3.  
  4. $username = filter_input(INPUT_POST,'username',FILTER_SANITIZE_STRING);
  5. $password = filter_input(INPUT_POST,'password',FILTER_SANITIZE_STRING);
  6.  
  7. if (empty($username) || empty($_POST['password'])) {
  8. echo "filed tidak boleh kosong";
  9. exit();
  10. }
  11.  
  12. $query = "SELECT * FROM users WHERE username=:username";
  13. $query_params = array(
  14. ":username" => $username
  15. );
  16. try {
  17. $stmt = $db->prepare($query);
  18. $result = $stmt->execute($query_params);
  19. }
  20. catch (PDOException $error) {
  21. die("error value $error->getmessege");
  22. }
  23. $login_ok = false;
  24. $row = $stmt->fetch();
  25.  
  26. // jika garapan database sama dengan post cek pssword
  27. if ($row) {
  28. // mencoba hash gabungan post password & salt
  29. $check_password = hash('sha256', $_POST['password'] . $row['salt']);
  30. // ngeloop lagi sebanyak 65536 hasil hash
  31. for ($round = 0; $round < 65536; $round++) {
  32. $check_password = hash('sha256', $check_password . $row['salt']);
  33. }
  34. // jika hasil hash loop sama dengan garapan password di databse
  35. // login true
  36. if ($check_password === $row['password']) {
  37. $login_ok = true;
  38. }
  39. }
  40. if ($login_ok) {
  41. // menyembunyikan row salt dan password
  42. unset($row['salt']);
  43. unset($row['password']);
  44.  
  45. // memasukan semua garapan $row ke session
  46. $_SESSION['user'] = $row['username'];
  47. print "<script>window.location.href = '../home';</script>";
  48. die("Redirecting...");
  49.  
  50. } else {
  51. // login gagal karena $login_ok bukan bervalue (true / 1)
  52. echo "login gagal";
  53. exit();
  54. }
  55. }
  56.  
  57.  
  58. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement