⊗ppPmAuAHS 425 of 447 menu

Ajout de sel dans l'authentification

Maintenant, nous devons modifier l'authentification. Ici, les changements seront plus substantiels.

Il ne sera plus possible de vérifier la validité de la paire login-mot de passe immédiatement, en une seule requête. Pourquoi : parce que, pour vérifier le mot de passe, il faut obtenir son hash salé, et le sel est stocké dans la base de données et est unique pour chaque login.

Il faudra d'abord récupérer l'enregistrement uniquement par le login, lire le sel, saler le mot de passe saisi et le comparer avec le mot de passe salé de la base, et seulement s'ils correspondent, - authentifier l'utilisateur.

Notez qu'il est possible que le login soit saisi incorrectement, dans ce cas la vérification du mot de passe peut ne pas être effectuée, et on peut immédiatement indiquer que l'authentification est impossible - les données sont incorrectes :

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // l'utilisateur avec ce login existe, maintenant il faut vérifier le mot de passe... } else { // l'utilisateur avec ce login n'existe pas, affichons un message } ?>

Ajoutons la vérification du mot de passe :

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $salt = $user['salt']; // sel de la BDD $hash = $user['password']; // mot de passe salé de la BDD $password = md5($salt . $_POST['password']); // mot de passe salé de l'utilisateur // Comparons les hashs salés if ($password == $hash) { // tout est ok, on authentifie... } else { // le mot de passe ne correspond pas, affichons un message } } else { // l'utilisateur avec ce login n'existe pas, affichons un message } ?>

Pour des raisons de sécurité, on ne précise généralement pas à l'utilisateur ce qui ne correspond pas - le login ou le mot de passe, afin de compliquer la force brute des paires login-mot de passe par les hackers. On affiche simplement un message indiquant que la paire login-mot de passe est incorrecte ou quelque chose dans ce genre.

Implémentez l'authentification décrite ci-dessus avec un mot de passe salé. Essayez de vous inscrire, de vous authentifier, assurez-vous que tout fonctionne.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser