Me ha inspirado una pregunta en Revisión de código , que se reduce a: ¿Cuál es la forma correcta de autenticar a un usuario sin una base de datos?
¿Sería el mismo proceso exacto si almacenara las credenciales en una matriz, un archivo XML o solo un archivo de texto simple?
Por ejemplo , examinemos el siguiente código PHP:
$credentials = array(
'UserA' => '$2y$10$PassForA',
'UserB' => '$2y$10$PassForB'
);
$username = $_POST['username'];
$password = $_POST['password'];
if (isset($credentials[$username]) && password_verify($password, $credentials[$username])) {
// Successfully authenticated
} else {
// Permission denied
}
¿Es esta una forma perfectamente aceptable para almacenar credenciales? Si tuviéramos que tomar el nombre de usuario y la contraseña con hash de un archivo externo (XML / txt), ¿tendríamos que tratar las cosas de manera diferente?