¿Es seguro mi script de autenticación de PHP? Noté que los hashes comienzan con las dos primeras letras del nombre de usuario. ¿Podría haber una falla de seguridad usando crypt () de tal manera?
<?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';
}