Foros del Web » Programando para Internet » PHP »

Autentificacion http y logout

Estas en el tema de Autentificacion http y logout en el foro de PHP en Foros del Web. Hola, tengo una web en la que se autentifica a los usuarios por medio de las cabeceras http, osea: if (!isset($PHP_AUTH_USER)) { header('WWW-Authenticate: Basic realm="Sitio ...
  #1 (permalink)  
Antiguo 16/02/2003, 05:13
Avatar de jrvilda  
Fecha de Ingreso: febrero-2003
Ubicación: Galdakao (Bizkaia)
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
Autentificacion http y logout

Hola,
tengo una web en la que se autentifica a los usuarios por medio de las cabeceras http, osea:

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

pero como son varios los usuarios y sus niveles de acceso,necesitaria una especie de logout, pero no ba por sesiones ni por cookis no? como condigo que se borre la informacion de la cabezera del explorador sin tener que cerrarlo?
  #2 (permalink)  
Antiguo 16/02/2003, 06:23
Avatar de jrvilda  
Fecha de Ingreso: febrero-2003
Ubicación: Galdakao (Bizkaia)
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
He estado buscando por el foro y me he encontrado con esto:

if ($_REQUEST['logout']==true) {
login();
}

pero no se como usarlo, alguien puede?
__________________
No a las Guerras
  #3 (permalink)  
Antiguo 16/02/2003, 10:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Seguro q no guardas ninguna cookie o session una vez autentificado tu usuarios para el seguimento de ste en todas las páginas q requieran autentificación? .. ¿Es acaso solo una página la q estas autentificando ?...

Si tienes dudas .. pon el código completo q usas para autentificación completo y veremos si usas cookies o sesiones .. en consecuencia se te podrá orientar por el tipo correcto de "logout" ..

Ese condicional q pusistes con ese "logout()" no tiene ningun sentido así como está .. fuera de contexto y sin saber q hace la funcion q se llama "logout()"... q usa.

Un saludo,
  #4 (permalink)  
Antiguo 16/02/2003, 10:43
Avatar de jrvilda  
Fecha de Ingreso: febrero-2003
Ubicación: Galdakao (Bizkaia)
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
hola Cluster

La autentificacion que uso es :


if (!isset($PHP_AUTH_USER)){
header('WWW-Authenticate: Basic realm="Sitio Privado"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;

}

$fich = file("../../password.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="Solo para personal autorizado"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required.';
exit;
}

la cual esta en un funciones.php que es llamado por todas las paginas que lo requieren, creo que de esta manera no se usan ni cookis ni sesiones , sino que es guardada en el propio explorador cliente.

Si cierro el navegador no existe ningun problema, la prosima vez pedira autentificación, pero la cuestion es que me gustaria poder poner un boton para realizar la tarea de logout, desconectarse.

La verdad que no es muy extensa la web pero se crea siempre a partir de un unico index.php osea que realmente solo se autentifica esta y las demas solo tienen un

if (eregi("funciones.php",$PHP_SELF)) {
Header("Location: index.php");
die();

para que no se pueda aceder a ellas.
__________________
No a las Guerras
  #5 (permalink)  
Antiguo 16/02/2003, 10:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, segun ese código q pusistes no usas ni Cookies ni sessiones ...

Mas no sé de autentifciación HTTP .. pero había q salir de dudas.

Un saludo,
  #6 (permalink)  
Antiguo 16/02/2003, 11:42
Avatar de jrvilda  
Fecha de Ingreso: febrero-2003
Ubicación: Galdakao (Bizkaia)
Mensajes: 18
Antigüedad: 14 años, 10 meses
Puntos: 0
Segun he encontrado dice:

Tanto Netscape como Internet Explorer borrarán la caché de la ventana de autentificación en el navegador local después de recibir una respuesta 401 del servidor.

Como puedo enviarlo??
__________________
No a las Guerras
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 22:30.