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 buenas. Tengo un código el cual me permite autentificar en ciertas páginas. Es muy parecido al que aparece en la sección de FAQ. Funciona ...
  #1 (permalink)  
Antiguo 05/02/2003, 12:58
Avatar de McClane  
Fecha de Ingreso: diciembre-2002
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
autentificación

Hola buenas.

Tengo un código el cual me permite autentificar en ciertas páginas. Es muy parecido al que aparece en la sección de FAQ. Funciona perfectamente excepto cuando le pongo lo siguiente para poder "salir":

Código PHP:
if ($_REQUEST['logout']==true) {
login();

Cuando realiza el supuesto "logout", me da este error:

Warning: Cannot add header information - headers already sent by (output started at /var/www/porra/admin.php:7) in /var/www/porra/security.php on line 14

Warning: Cannot add header information - headers already sent by (output started at /var/www/porra/admin.php:7) in /var/www/porra/security.php on line 15

Las líneas 14 y 15 del security.php que me alerta son éstas:
Código PHP:
header('WWW-Authenticate: Basic realm="sitio.com"');
header('HTTP/1.1 401 Unauthorized'); 
Alguna idea?
Gracias de antemano :)
  #2 (permalink)  
Antiguo 05/02/2003, 15:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Hola,

Revisa la linea 7 de tu admin.php, porque debe estar generando alguna salida al navegador.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 05/02/2003, 17:46
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 16 años, 1 mes
Puntos: 5
Kiaxo McClane zemouz? bueno como te dijo josemi ... el error es de salida de datos antes del header() es decir , no se puede invocar a una cabecera si hay algo enviado al navegador, es decir no te dejes ni un solo espacio: esto por ejemplo estaria mal:
<? ?> ya que lo toma como espacio, revisa bien el codigo que me juego lo que quieras a que tienes un espacio
__________________
Usuario registrado de Linux #288725
  #4 (permalink)  
Antiguo 06/02/2003, 09:56
Avatar de McClane  
Fecha de Ingreso: diciembre-2002
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
yasta :)

Ya está, gracias a los dos. Era lo que comentabas epplestun, un espacio. Que fallo por mi parte xD.

Por cierto... este método no parece de lo más viable. Es más recomendable usar sesiones para autentificar usuarios? cookies? Qué me recomendáis?

Eskerrik asko.
  #5 (permalink)  
Antiguo 06/02/2003, 10:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Independiente del "login" como lo hagas . si por HTTP (caso de esa ventanita del SO pidiendote user/pass $PHP_AUT ... ) El seguimiento del usuario en tus scripts.php deberias hacerlo con sessiones .. pues esos datos de "user/pass" se guararian en el servidor y no en el cliente suceptibles de ser "moficados" ..

<spam>
Mira en mi "www" de mi perfil .. ahí tengo mi "Autentificator" . .Script de autentificación de usuarios que usa sessiones (Y Mysql) para el seguimiento de los usuarios ...
</spam>

Un saludo,
  #6 (permalink)  
Antiguo 06/02/2003, 10:37
Avatar de McClane  
Fecha de Ingreso: diciembre-2002
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
Gracias por la aclaración. Respecto al script de autentificación tuyo, ya lo miraré cuando tenga más tiempo y ya os contaré.
Por cierto, no lo consideres como spam xD
  #7 (permalink)  
Antiguo 06/02/2003, 14:49
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 6 meses
Puntos: 16
Ez dago zergaitik.

Con la autentificaion via HTTP, el usuario y clave queda almacenado en el navegador, normalmente solo hasta que lo cierras. Y durante ese tiempo, el navegador PUEDE enviar esa informacion a cualquier pagina que este en el mismo directorio o en algun subdirectorio del directorio donde se encuentra la pagina que genero el estado 401.

Gero arte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.

Última edición por josemi; 06/02/2003 a las 15:22
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 05:37.