Quelle est la meilleure façon de créer une fonction d'authentification utilisateur sécurisée? Voici le noyau d'une fonction php qui prend le nom d'utilisateur et le mot de passe et le vérifie par rapport à la base de données.Fonction d'authentification utilisateur php la plus sécurisée
Je suis particulièrement intéressé par la requête et sa valeur de retour. L'utilisation de 'else if ($ query1)' est-elle le meilleur moyen de valider et de définir la variable de session? En outre, quelle valeur est préférable de définir pour la variable de session? Une adresse email, un nom d'utilisateur, une variable bool, un index de clé primaire, 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;
Est-ce que sha1 est la seule fonction de hachage de la famille SHA actuellement en PHP? – Tableking
Non. Voir le ['hash()'] (http://php.net/manual/fr/function.hash.php) et ['hash_algos()'] (http://us.php.net/ manual/en/function.hash-algos.php) fonctions. Si votre base de données ne prend pas en charge la même fonction de hachage que vous choisissez, vous devrez peut-être récupérer des valeurs dans le script PHP, puis exécuter une autre requête. SHA1 est en sécurité pour le moment, à mon avis. – cdhowie