signup.phpKann nicht mit md5 Passwort aus der Datenbank
$password_unencrypted = $_POST['passwd'];
$password=md5($password_unencrypted);
$query = "INSERT INTO Customers (firstname, lastname, username, password, " . "gender,mobile,email) " . "VALUES ('$first_name', '$last_name', '$user_name', '$password', " . " '$gender','$mobile','$email')";
login.php
$username=$_POST['username'];
$password=md5($_POST['password']);
$sql = ("select * from Customers where username='".$username."' and password='".$password."'") or die('Error connecting to MySQL server.');
$query = mysqli_query($con,$sql);
$result=mysqli_fetch_row($query);
if($result)
{
$_SESSION['username']=$username;
header('location:home.html');
}
else
{
echo md5($_POST['password']);
echo 'Your entered username or password is incorrect';
}
In über die Registrierung und Login-Codes vergleichen Ich Speicherung md5 für Passwort Anwendung
Ich überprüfte in der Datenbank ist das md5 Passwort korrekt gespeichert, aber es wird nicht korrekt neu geladen (glaube ich)
t rying, um sich in die Seite einzuloggen, schlägt sie fehl
FYI: echo md5 ($ _ POST ['passwort']); in login.php ist gleiche Passwort in der Datenbank hier
Bitte verwenden Sie PHP [integrierte Funktionen Passwörter zu handhaben] (http://php.net/manual/de/ref.password.php) ([tutorial] (http://jayblanchard.net/proper_password_hashing_with_PHP.html)). Wenn Sie eine PHP-Version kleiner als 5.5 verwenden, können Sie das Paket password_hash() [compatibility pack] (https://github.com/ircmaxell/password_compat) verwenden. Sie sollten auch parametrisierte Abfragen mit Platzhaltern verwenden, anstatt Variablen direkt in die Abfragezeichenfolge zu verketten. – JimL
Empfohlen lesen: [Stackoverflow: Warum nicht MD5 für Passwort-Hashing verwenden?] (Http://StackOverflow.com/questions/30496061/Why-Not-use-MD5-for-Password-hashing) –
1. Verwenden Sie nicht MD5 oder SHA-1, verwenden Sie eine SHA-2-Funktion wie SHA-256. 2. Verwenden Sie kein statisches Salz, jeder Eintrag, der das gleiche Passwort verwendet, hat das gleiche Salz. Wenn eines entdeckt wird, werden alle anderen ebenfalls angezeigt. Verwenden Sie ein zufälliges Salz, das ebenfalls in der Datenbank gespeichert ist. 3. Verketten Sie nicht nur das Salz, sondern verwenden Sie eine HMAC-Funktion. 4. Es ist notwendig, die Hashfunktion zu iterieren, da die Berechnung von Hashes sehr schnell ist. 5. Verwenden Sie Standard-Passwortableitungsfunktionen wie "Crypto.HashPassword", "PBKDF2", "password_hash", "bcrypt", script usw. – zaph