Foros del Web » Programando para Internet » PHP »

destruir variables de autentificación

Estas en el tema de destruir variables de autentificación en el foro de PHP en Foros del Web. Hola gente, aquí les va algo, a ver si pueden, le dan una ayudita a este principiante. Resulta que hago una autentificación vía http que ...
  #1 (permalink)  
Antiguo 14/05/2004, 00:57
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 13 años, 8 meses
Puntos: 0
destruir variables de autentificación

Hola gente, aquí les va algo, a ver si pueden, le dan una ayudita a este principiante.

Resulta que hago una autentificación vía http que funciona correctamente, el problema es que cuando cierro la sesión con session_unset(); y vuelvo a la home, si quiero autentificar a otro usuario, no me deja, ya que aparentemente sigue existiendo $_SERVER['PHP_AUTH_USER']

el script de ingreso que estoy utilizando es el siguiente:

if (!isset($_SERVER['PHP_AUTH_USER'])) {
header("WWW-Authenticate: Basic realm=\"Ingrese sus datos:\"");
header("HTTP/1.0 401 Unauthorized");
exit;
} else {
require("control.php"); //(Verifico si existe ese usuario en mi DB le doy $_SESSION['autentificado']="SI" para mi archivo seguridad.php que estará en todas las páginas restringidas y paso a la primera página restringida)
};

Cómo hago para que (!isset($_SERVER['PHP_AUTH_USER'])) me de true de nuevo?

Como siempre, muchas gracias a todos.
__________________
Cristian
  #2 (permalink)  
Antiguo 14/05/2004, 08:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo ideal es que si ya usas sesiones .. usalo para todo el seguimiento del usuario en sus páginas/scripts que requieran tu autentificación ...

Usa tu própio formulario HTML de "login" y a partir de ahí sigue trabajando con tus sesiones y validación de la existencia de estas en todas las páginas de tu sitio.

Algunos "problemas" de seguridad en el acceso a archivos que se suelen solventar rápidamente con autentificación HTTP .. puedes solventarlo con otras técnicas o configuración del serivodor HTTP sobre el método que se permite para acceder al archivo o desde que "host" es tomado (si usas PHP para tomar el archivo y entregarlo + esa configuración = sólo PHP podría acceder al archivo) .. Otras soluciones más simples pero iguamente efectivas son la de mover los archivos (imagenes, zip .. etc ) fuera del "DOCUMENT_ROOT" para que no queden accesibles vía llamadas HTTP: http://www.tal.tal/archivo.tal e indicar rutas absolutas hacia el archivo.

La autentificación HTTP tiene bastantes problemas para "eliminar" dicho "login" .. En PHP.net en los comentarios de los usuarios sobre autentificación HTTP hablan del tema pero .. no parece que hay una solución definitiva o más bien efectiva:

http://www.php.net/manual/en/features.http-auth.php

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 14/05/2004, 23:59
 
Fecha de Ingreso: marzo-2004
Ubicación: Córdoba
Mensajes: 23
Antigüedad: 13 años, 8 meses
Puntos: 0
Gracias Cluster por tu sugerencia y obviamente la voy a seguir, así que generaré mi propio form de login y manejo todo el proceso de la sesión y listo chau el problema. Te agradezco tu respuesta ya que me evitas seguir perdiendo tiempo en dar vueltas tratando de resolver algo que tal vez no dependa de mi script.
Muy interesante la idea de colocar algunos archivos "sensibles" fuera del root, otra cosa que también voy a probar.

Muchas Gracias!!!
__________________
Cristian
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 16:54.