Was ist der beste Weg, um eine sichere Benutzerauthentifizierungsfunktion zu erstellen? Unten ist der Kern einer php-Funktion, die den Benutzernamen und das Passwort eingibt und gegen die Datenbank prüft.Sicherste PHP-Benutzer-Authentifizierungsfunktion
Ich bin speziell an der Abfrage und deren Rückgabewert interessiert. Ist der 'else if ($ query1)' der beste Weg um die Session Variable zu validieren und zu setzen? Welcher Wert wird am besten für die Sitzungsvariable festgelegt? Eine E-Mail-Adresse, Benutzername, Bool-Variable, Primärschlüssel-Index, etc?
$query1 = mysql_fetch_array(mysql_query("SELECT primaryKey
FROM loginInfo
WHERE email = md5('$email')
AND password = md5(CONCAT('$password',salt))
LIMIT 1"));
if (!$query1)
return false;
else if ($query1) {
$_SESSION['userNumber'] = $query1[primaryKey];
return true;
}
else
return false;
Ist sha1 die einzige Hash-Funktion aus der SHA-Familie in PHP? – Tableking
Nein. Siehe ['hash()'] (http://php.net/manual/en/function.hash.php) und ['hash_algos()'] (http://us.php.net/ manual/de/function.hash-algos.php) funktioniert. Wenn Ihre DB nicht die selbe Hash-Funktion unterstützt, die Sie wählen, müssen Sie möglicherweise Werte in das PHP-Skript holen und dann eine andere Abfrage ausführen ... also wählen Sie sorgfältig aus. SHA1 ist meiner Meinung nach vorerst sicher. – cdhowie