Foros del Web » Programando para Internet » PHP »

Autentificación

Estas en el tema de Autentificación en el foro de PHP en Foros del Web. Hola de nuevo. He seguido mirando posibilidades con php y me he topado con el siguiente problema. Uso este código para pedir al usuario una ...
  #1 (permalink)  
Antiguo 20/05/2004, 11:47
 
Fecha de Ingreso: mayo-2004
Ubicación: Canarias
Mensajes: 17
Antigüedad: 20 años, 6 meses
Puntos: 0
Autentificación

Hola de nuevo. He seguido mirando posibilidades con php y me he topado con el siguiente problema. Uso este código para pedir al usuario una clave y una pasword, pero una vez meto los datos y doy aceptar, sigue apareciendo la ventanita una y otra vez hasta que me sale la parte de Authorization Required. He probado incluso a no comprobar si el usuario está en el fichero de texto, sino simplemente mostrar los datos que ha introducido, pero nada. Aquí pongo el código:

<?php
if (!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}

$fich = file("passwords.txt");
$i=0; $validado=false;
while ($fich[$i] && !$validado) {
$campo = explode("|",$fich[$i]);
if (($PHP_AUTH_USER==$campo[0]) && ($PHP_AUTH_PW==chop($campo[1]))) $validado=true;
$i++;
}

if (!$validado) {
header('WWW-Authenticate: Basic realm="Acceso restringido"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}
?>
<!-- Manual de PHP de WebEstilo.com -->
<html>

<head>
<title>Ejemplo de PHP</title>
</head>

<body>
Ha conseguido el acceso a la <B>zona restringida</B> con el usuario <?php echo $PHP_AUTH_USER?>.
</body>
</html>

Un saludo y gracias!!!
  #2 (permalink)  
Antiguo 20/05/2004, 20:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Revisa la configuración de PHP:

php.ini
register_globals ..

Y de instalación de tu PHP: (en un phpinfo() lo puedes ver). La autentificación HTTP sólo funciona bajo PHP como módulo de Apache (no como CGI).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 22/05/2004, 05:32
 
Fecha de Ingreso: mayo-2004
Ubicación: Canarias
Mensajes: 17
Antigüedad: 20 años, 6 meses
Puntos: 0
Perdona pero no te he entendido... que debería mirar exactamente y en tal caso qué y cómo lo podría cambiar ¿?

Muchas gracias!!
  #4 (permalink)  
Antiguo 22/05/2004, 22:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Ejecuta un phpinfo() para ver el estado de la directiva que te indicava y en el apartado (primer bloque de información) .. revisa que dice en "Server API" .. Si dice "CGI" no podras usar la autentificación HTTP que pretendes usar .. tampoco (por el acceso a las variables de servidor que haces asumiendolas como "globales") si está register_globals a OFF podrás usar el código que pusistes.

Código PHP:
<?
phpinfo
();
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:12.