Il mio script di autenticazione PHP è sicuro? Ho notato che gli hash iniziano con le prime due lettere del nome utente. Potrebbe esserci un difetto di sicurezza usando crypt () in questo modo?
<?php
// Credentials :
// admin / P4ssW0rd
// j.doe / r0x0r
$cred = array(
'admin' => 'adkFV/7Pa.Em.',
'j.doe' => 'j.4AzOhv10e1M'
);
$salt = 'abcdefg';
$user = $_POST['login'];
$pass = $_POST['pass'];
if (isset($cred[$user]) && crypt($salt . $pass, $user) == $cred[$user]) {
echo 'Access granted';
} else {
echo 'Access denied';
}