Advertisement
Guest User

Untitled

a guest
May 1st, 2019
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.98 KB | None | 0 0
  1. <?php
  2. require_once '../admin/Application.php';
  3.  
  4. // Get tokens
  5. $selector = $_POST['selector'];
  6. $token = $_POST['validator'];
  7.  
  8. $app = new Application();
  9. $tokenFromDatabase = $app->getToken($selector, $token);
  10.  
  11.  
  12. if ( $tokenFromDatabase == null )  {
  13.     setcookie("message", 'Linken er ikke gyldig, kontakt administrator', time()+10, '/');
  14.     header('Location: ../');
  15. }
  16.  
  17. $auth_selector = $tokenFromDatabase[0]['velg_hash']; //
  18. $auth_token = $tokenFromDatabase[0]['pollett']; //
  19.  
  20.  
  21. $hash_database_selector = hash('sha256',$auth_selector);
  22. $hash_database_token = hash('sha256',$auth_token);
  23. $databaseToken = hash('sha256', $hash_database_selector . $hash_database_token);
  24.  
  25. $hash_selector = hash('sha256', $selector);
  26. $hash_token = hash('sha256', $token);
  27. $token = hash('sha256', $hash_selector . $hash_token);
  28.  
  29.  
  30. // Validate tokens
  31. if ( hash_equals( $token, $databaseToken) )  {
  32.     require_once '../include_login/Auth.php';
  33.  
  34.     $pdo = new DBController();
  35.     $auth = new Auth();
  36.  
  37.     //check if user exists
  38.     $user_id = $tokenFromDatabase[0]['bruker_id'];
  39.     $user = $auth->getUserByID($user_id);
  40.     if($user != null) {
  41.         $user_credentials = $auth->getPasswordByID($user_id);
  42.         $user_salt = $user_credentials[0]['salt'];
  43.  
  44.  
  45.         // Update password
  46.         $activated = 1;
  47.         $new_password = hash('sha512', $_POST['p'] . $user_salt);
  48.  
  49.         $query = "UPDATE brukere SET passord = :password, aktivert = :activated WHERE id = :user_id";
  50.         $param_value_array = array(':user_id' => $user_id,
  51.                                     ':password' => $new_password,
  52.                                     ':activated' => $activated);
  53.         $pdo->update($query, $param_value_array);
  54.  
  55.  
  56.  
  57.  
  58.         // Delete any existing password reset for this user
  59.         $app->deleteToken($user_id);
  60.  
  61.         session_destroy();
  62.         setcookie("message", 'Brukeren er aktivert, logg inn med nytt passord.', time()+10, '/');
  63.         header('Location: ../');
  64.  
  65.     }
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement