Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/09/2006, 02:00
_cris_
 
Fecha de Ingreso: septiembre-2006
Mensajes: 3
Antigüedad: 17 años, 7 meses
Puntos: 0
problema autenticacion con PHP

Hola todos!
Mi problema es que tengo que restrigir el acceso a una página a determinados ususarios. Lo que hago es pedir un nombre de usuario y una contraseña, de manera que me sale el típico cuadro de diálogo para introducirlos (que cambiara segun el navegador). Mi php es el siguiente:

<html>
<body>

<?
if (!isset($_SERVER["PHP_AUTH_USER"]))
{
header("WWW-Authenticate: Basic realm=\"Zona privada\"");
header("HTTP/1.0 401 Unauthorized");
echo "<h2>No estas autorizado a ver esta información.\n</h2>";
exit;
}
else
{

echo "<h2>Esta es información confidencial.</h2>";
$lineas=file("usuarios.txt");
$var=FALSE;
foreach($lineas as $lin)
{
$dividir=explode(":",$lin);
$nom=$dividir[0];
$pass=$dividir[1];
$carnet=$dividir[2];
if(($_SERVER['PHP_AUTH_USER']==$nom)&&(crypt($_SERVER['PHP_AUTH_PW'],"AA")==$pass))
{ echo "<h2>Bienvenido,<i> {$_SERVER['PHP_AUTH_USER']}</i>.</h2>";
echo "<h3>El usuario esta reconocido dentro del archivo de configuración</h3>";
echo "<h3><a href='principal.php'>Acceder a la zona privada</a></h3>" ;
$var=TRUE;

break;
}
}
if($var==FALSE)
{echo "<h3>No existe ese usuario</h3>";
echo "<h3><a href='registro.html'>Deseo registrame</a></h3>";}

}



?>

</body>
</HTML>

En el archivo usuarios.txt están alamacenadas las contraseñas y nombres de usuarios de los ya registrados y solo a ellos se les permite el acceso.
El caso es que si un usuario al meter su identificacion en el cuadro de dialogo se equivoca, se le redirige a una página de advertencia que le dice que no tiene autorizacion para entrar al sitio que quería y tiene la opcion de volver a la pagina principal donde tendria que poder volver a introducir su nombre de usuario y clave. Sin embargo, la unica manera de que vuelva a aparecer el cuadro de dialogo es cerrando el navegador y abriendolo de nuevo.
Hay algun modo de solucionar esto?
Espero haberme explicado con claridad.

Muchas gracias a todos.
Saludos