Dies ist meine erste Testversion für die Implementierung einer Mitgliederseite mit gesalzenen Passwörtern, die alle in der DB (MySQL) gespeichert sind. Alles funktioniert bis auf den Fehler auf der Seite "Login für Mitglieder".Wie kann ich ein gesalzenes Passwort von der Datenbank und vom Benutzer zurückziehen?
Der Fehler: Mitglied Login-Seite akzeptiert einen Eintrag auf die Mitgliedschaft Website und aus irgendeinem Grund für meine Überprüfung bestanden $result === false
Dies ist für die Überprüfung der Code, wenn Mitglied vorhanden ist, lassen Sie es mich wissen, was das Problem ist:
$servername = 'localhost';
$username = 'root';
$pwd = '';
$dbname = 'lp001';
$connect = new mysqli($servername,$username,$pwd,$dbname);
if ($connect->connect_error){
die('connection failed, reason: '.$connect->connect_error);
}
$name = mysqli_real_escape_string($connect, $_POST['name']);
$password = mysqli_real_escape_string($connect, $_POST['password']);
$saltQuery = "SELECT salt FROM users WHERE name = '$name';";
$result = mysqli_query($connect, $saltQuery);
if ($result === false){
die(mysqli_error());
}
$row = mysqli_fetch_assoc($result);
$salt = $row['salt'];
$saltedPW = $password.$salt;
$hashedPW = hash('sha256', $saltedPW);
$sqlQuery = "SELECT * FROM users WHERE name = '$name' AND password = '$hashedPW'";
if (mysqli_query($connect, $sqlQuery)){
echo '<h1>Welcome to the member site '.$name.'</h1>';
}else{
echo 'error adding the query: '.$sql_q.'<br> Reason: '.mysqli_error($connect);
}
des Sehen es fast Turnkey für Sie, der Login-Bereich, mit 'password_verify()' hier: http://stackoverflow.com/a/33665819. Es enthält Session-, Fehler-Reporting und try/catch – Drew
Die SHA-* Algorithmen sind nicht sicher, Passwörter zu speichern, stattdessen verwenden Sie die Funktion [password_hash()] (http://www.php.net/manual/en/function). password-hash.php), um einen sicheren BCrypt-Hash zu generieren. Es wird es unnötig machen, das Salz getrennt zu lagern, siehe [Antwort] (http://stackoverflow.com/a/27094183/575765). – martinstoeckli
@martintinsoeckli - danke, wenn du es als Code schreiben kannst, ich werde es als Antwort, die mir und anderen in der Zukunft helfen würde, thx wieder knospen. – clusterBuddy