Foros del Web » Programando para Internet » PHP »

Ventana de autentificacion

Estas en el tema de Ventana de autentificacion en el foro de PHP en Foros del Web. Saludos. Tengo un sistema de autentificación en PhP usando sesiones, el problema es que por motivos de diseño al pinchar en un link debe aparecer ...
  #1 (permalink)  
Antiguo 28/04/2004, 11:43
lrn
 
Fecha de Ingreso: marzo-2004
Mensajes: 40
Antigüedad: 13 años, 8 meses
Puntos: 0
Ventana de autentificacion

Saludos. Tengo un sistema de autentificación en PhP usando sesiones, el problema es que por motivos de diseño al pinchar en un link debe aparecer una ventana pidiendo el login y el password, y si hay correspondencia cargar en la principal otra página. Me gustaría que alguien me dijese cómo hacer eso sin usar la consabida autentificación HTTP (entre otras cosas porque no me funciona, estoy tratando de arreglarlo). Cómo puedo hacer esto. Gracias a todos.
  #2 (permalink)  
Antiguo 28/04/2004, 13:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La autentificación HTTP funciona sólo en PHP instalado como Módulo de Apache. Si usas otra instalación de PHP (CGI) u otro servidor HTTP (IIS, PWS, Xitami .. etc) no funcionará la autentificación HTTP.

El tema de las "ventanas" .. validaciones y redirecciones puedes solventarlo con Javascript. (salvo la parte de tu validación PHP)

El proceso sería algo tipo:

1) entras a index.php? (pagina de bienvenida? ..).

2) levantas una ventana (por javacript: window.location ante el evento onLoad() (del <body> ..) por ejemplo.

3) En la ventana (al abrirla) llamas a tu formulario de login (usuario/passwor). El "action" de tu formulario lo apuntas a tu script de proceso y validación PHP como lo haces habitualemente.

4) (el "truco") Vía javascript .. al validar tu usuario usando más javacript cieeras la ventana abierta y cambias el "location" a la padre (la que lo abrío) con el objeto/propieda de javacript: window.opener.location='pagina.tal' y el window.close() para la ventana que abristes .. Todo esto al terminar el proceso de tu script PHP y en el momento que tenga que decirse donde redirecionar.

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 28/04/2004, 16:56
lrn
 
Fecha de Ingreso: marzo-2004
Mensajes: 40
Antigüedad: 13 años, 8 meses
Puntos: 0
Muchisimas gracias por responder. Abro una ventana con window.open() y sustituyo en la parte de comprobación, una vez examinado que son correctos los datos:
header ("Location: autentificacion_correcta.php");
por echo "<script>window.opener.location='autentificacion_c orrecta.php'; window.close();</script>";
y funciona exactamete como quería, ahora ¿no estaré pasando por alto algún efecto lateral? ¿no hay ningun handicap en lo referente a seguridad?. Gracias de nuevo.
  #4 (permalink)  
Antiguo 29/04/2004, 07:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues .. que yo sepa no hay peligro de seguridad en ese tipo de redireccionamiento .. Al fin y al cabo es otro redireccionamiento como lo es el "location" que lanzas por header() directo.

El únco problema será con navegadores que no interpreten javascript o ese "metodo" (opener) .. Pero eso ya son problemas del "cliente" ..

Si tu validas (como ya lo harás) en "autentificacion_correcta.php" y páginas sub-siguientes a tu usuario registrado por alguna variable de sesión o cookie que tengas creada (que crees en el momento de la validación correcta) no vas a tener probelmas de "seguridad" (pero estos "problemas" te pasarían igual si redirecionas con header() o con javascript o con cualquier método).

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 11:11.