⊗ppPmAuAHS 425 of 447 menu

Adição de salt na autenticação

Agora precisamos alterar a autenticação. Aqui as mudanças serão mais substanciais.

Já não será possível verificar a correção do par login-senha imediatamente, com uma única consulta. Por quê: porque, para verificar a senha, é necessário obter seu hash com salt, e o salt está armazenado no banco de dados e é único para cada login.

Será necessário primeiro obter o registro apenas pelo login, ler o salt, aplicar o salt à senha inserida e comparar com a senha com salt do banco de dados, e somente se coincidirem, - autenticar o usuário.

Leve em consideração que pode acontecer do login digitado estar incorreto, neste caso a verificação da senha pode ser omitida, e imediatamente informar que a autenticação não é possível - dados incorretos:

<?php $login = $_POST['login']; $query = "SELECT * FROM users WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { // existe um usuário com este login, agora é preciso verificar a senha... } else { // não há usuário com este login, exiba uma mensagem } ?>

Vamos adicionar a verificação da senha:

<?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']; // salt do banco de dados $hash = $user['password']; // senha com salt do banco de dados $password = md5($salt . $_POST['password']); // senha com salt do usuário // Comparamos os hashes com salt if ($password == $hash) { // está tudo ok, autenticamos... } else { // a senha não confere, exiba uma mensagem } } else { // não há usuário com este login, exiba uma mensagem } ?>

Por motivos de segurança, normalmente não se informa ao usuário o que exatamente não conferiu - o login ou a senha, para dificultar a tentativa de pares login-senha por hackers. Simplesmente exibe-se uma mensagem informando que o par login-senha está incorreto ou algo nesse sentido.

Implemente a autenticação com senha com salt descrita acima. Tente registrar-se, autenticar-se, certifique-se de que tudo funciona.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar