Estoy probando el tema de autentificación, usando $PHP_AUTH_USER y $PHP_AUTH_PW, pero resulta que no me funciona con todos los ejemplos que he hecho, tanto los he copiado manualmente de otras fuentes, como los he copiado y pegado, por ejemplo este es un codigo que uso:
<?php
if (!isset($PHP_AUTH_USER)) {
Header("WWW-Authenticate: Basic realm='Acceso restringido'");
Header("HTTP/1.0 401 Unauthorized");
echo 'Authorization Required.';
exit;
}
else {
echo "Ha introducido el nombre de usuario: $PHP_AUTH_USER<br>";
echo "Ha introducido la contraseña: $PHP_AUTH_PW<br>";
}
?>
y este es otro
<?php
// An array of allowed users and their passwords
$users = array(
'harryf' => 'secret',
'littlepig' => 'chinny'
);
// If there's no Authentication header, exit
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="PHP Secured"');
exit('This page requires authentication');
}
// If the user name doesn't exist, exit
if (!isset($users[$_SERVER['PHP_AUTH_USER']])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="PHP Secured"');
exit('Unauthorized!');
}
// Is the password doesn't match the username, exit
if ($users[$_SERVER['PHP_AUTH_USER']] != $_SERVER['PHP_AUTH_PW'])
{
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic realm="PHP Secured"');
exit('Unauthorized!');
}
echo 'You\'re in';
?>
Y no me funcionan. Ya que cuando acceso a las páginas con este código, se me solicita el usuario y el password, se los doy de manera correcta y no los reconoce como validos porque me vuelve a solicitar los datos. He usado Firefox e IE, y nada.
Los he probado en dos servidores, uno que instale en mi equipo local, teniendo como sistema operativo windows 2000, y otro en un servidor de una universidad con Linux.
Los dos servidores son Apache y el PHP está instalado como módulo en ambos servidores, las versiones de PHP son 5.0 y 4.3 .
Hay algo ademas de esto que pueda yo estar omitiendo, por lo que no me valida los datos que ingreso?.