<?php require_once('db_utils.php'); if(isset($_POST['salt'], $_POST['new-password'])) { // Parameters received // Get parameters $old_salt = $_POST['salt']; $password = $_POST['new-password']; $conn = db_connect(); // Connect to the database // Check if the user already exists if(!($result = mysqli_query($conn, "SELECT * FROM user WHERE salt = '$old_salt'"))) { $verification = 'false'; // Wrong query } else { // Query successful if(mysqli_num_rows($result) != 1) { // User doesn't exist, or duplicated $verification = 'false'; } else { // User returned successfully $algorithm = '$2a'; // Blowfish $cost = '$10'; // for hashing $new_salt = $algorithm . $cost . '$' . substr(sha1(mt_rand()),0,22); $hash = crypt($password, $new_salt); // Update activation status if(!mysqli_query($conn, "UPDATE user SET salt = '$new_salt', password = '$hash' WHERE salt = '$old_salt'")) { $verification = 'false'; // Wrong query } else { // Update successful $verification = 'true'; } } } mysqli_free_result($result); db_close($conn); // Close the database } else { // Salt not been sent as parameter $verification = 'false'; } header('Location: /index.html?changed='. $verification); ?>