Foros del Web » Programando para Internet » PHP »

Problema con Autentificator

Estas en el tema de Problema con Autentificator en el foro de PHP en Foros del Web. Hola a todos, Vereis, utilizo Autentificator de Cluster para una web que estoy haciendo y me he encontrado con un problema. La zona de administración ...
  #1 (permalink)  
Antiguo 06/11/2005, 21:40
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Problema con Autentificator

Hola a todos,

Vereis, utilizo Autentificator de Cluster para una web que estoy haciendo y me he encontrado con un problema. La zona de administración regida por Autentificator utiliza en varias zonas popups. No sé porque pero siempre en los popups obtengo el error

Error cod.:1 - Acceso incorrecto!

Mi pregunta es, es esto normal?

Yo supongo que el problema será que al abrir el popup, en este mismo pierdo la sesión. Es por eso?

Alguien puede decirme como solucionarlo?

Muchas gracias.

Ah, se me olvidaba, es muy curioso que me funcione perfectamente en mozilla, no así en Internet Explorer.
  #2 (permalink)  
Antiguo 07/11/2005, 06:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si, .. ese error es normal si usas ventanas (popups) ya que el error cod.1 se refiere y valida la variable "HTTP_REFERER".

Elimina el código que hace el uso de HTTP_REFERER fijando el valor de $redir al URL donde tengas tu formulario de login y listo.

Un saludo,
  #3 (permalink)  
Antiguo 07/11/2005, 06:38
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Hola Cluster,

Muchas gracias, he probado lo que me dices y sigue haciendo lo mismo. Te digo lo que he realizado para que me ayudes.

Me he creado un nuevo fichero llamado aut_verifica_popup.inc.php y en el popup en cuestión en vez de llamar a aut_verifica.inc.php llamo a este.

Este fichero la única diferencia con los demás es que tiene comentadas estas dos líneas:

$url = explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];

Y directamente $redir lo he asignado a http://... la URL donde tengo el formulario de login.

Que estoy haciendo mal Cluster?

Muchas gracias.
  #4 (permalink)  
Antiguo 07/11/2005, 06:41
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Haciendo esto que cuento, ahora tampoco me funciona en Mozilla y me da otro error distinto:

En Mozilla: Error cod.: 2 - Acceso incorrecto!
En Internet Explorer: Error cod.:1 - Acceso incorrecto!

A ver si alguien puede ayudarme. Muchas gracias.
  #5 (permalink)  
Antiguo 07/11/2005, 08:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Autentificator propaga el SID en cookies .. así que debes aceptar esas cookies que PHP va a crear en tus navegadores de pruebas.

También influye firewall's, antivirus y otros dispositivos similares que puedan estar bloqueando las cookies. (caso de los fallos en Mozilla que comentas).

Por lo demás .. elimina todo el código que hace referencia a esa validación de HTTP_REFERER .. parece que no has quidado el "if()" que ahí tienes.

Un saludo,
  #6 (permalink)  
Antiguo 07/11/2005, 08:56
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Ok Cluster, ya he quitado el código que me dices, el if concretamente.

Ahora el error que obtengo en los dos navegadores es el mismo, que es:

Error cod.: 2 - Acceso incorrecto!

Este error como me dices lo obtengo de no tener habilitadas las cookies en el navegador, tanto Mozilla como Internet Explorer?

Cluster, como podría validar si el navegador tiene habilitadas las cookies para que una vez el usuario haga el login si estas no están habilitadas notificarlo?

Saludos y muchas muchas gracias.
  #7 (permalink)  
Antiguo 07/11/2005, 09:14
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Creo que tiene que ser de otra cosa Cluster, ya que tengo habilitadas las cookies.

De qué puede ser?

Saludos.
  #8 (permalink)  
Antiguo 07/11/2005, 10:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Cluster, como podría validar si el navegador tiene habilitadas las cookies para que una vez el usuario haga el login si estas no están habilitadas notificarlo?
Depende de cada navegador .. intenta revisar algún manual de los que uses.

Cita:
Creo que tiene que ser de otra cosa Cluster, ya que tengo habilitadas las cookies.

De qué puede ser?

Saludos.
Te hice el comentario sobre el uso que puedas hacer de algún firewall, antivirus o equivalente en tu PC de pruebas ("servidor") .. por qué eso también influye y suele ser la causa de todos los problemas por el -desconocimiento-; no digo que sea tu caso .. pero no serías el primero que le ocurre tener cierto firewall o sistema sismilar y no saber que este también bloquea cookies locales por ejemplo ...

Un saludo,
  #9 (permalink)  
Antiguo 07/11/2005, 10:42
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Hola Cluster,

La verdad es que obtengo los mismos resultados tanto desde mi propio servidor en local, el cual no tiene ningún tipo de firewall o cosa extraña, como desde las máquinas de desarrollo y producción.

Es algo extraño y ya no sé como solucionarlo.

Existe alguna forma de solucionarlo aunque sea un poco chapuza?

Me gusta hacer las cosas lo más seguras posibles, pero ya no sé como seguir.

Gracias Cluster por todos tus consejos y ayuda.

Saludos,

Leo.
  #10 (permalink)  
Antiguo 07/11/2005, 10:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y .. otros sistemas que usen sesiones .. o un siemple ejemplo de uso de sesiones te funciona?

Por qué .. yo "asumo" y así menciono en la documentación oficial del script (Autentificator) que uno tiene funcionando correctamente las sesiones de PHP (www.php.net/session) .... lo único que exijo es que se propague el SID en cookies:

session.use_cookies = ON

Y todo lo que te he ido comentado anteriormente.


Un saludo,
  #11 (permalink)  
Antiguo 07/11/2005, 11:15
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Cluster, una pregunta más, supongo que las siguientes ventanas popups que aparecen en la misma ya no hace falta este cambio, no?

Por cierto, como podría hacer la comprobación en el registro de que el usuario tiene activadas las cookies y si no avisarle de que las habilite?

Muchas gracias,

Leo.
  #12 (permalink)  
Antiguo 07/11/2005, 11:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
No sé si me he explicado bien Cluster, me pregunto si por ejemplo tengo un formulario en la ventana popup, si el action de ese formulario tendría también que llevar aut_verifica_popup.inc.php. Ya no haría falta, no? Podría llevar perfectamente aut_verifica.inc.php

Espero me haya explicado algo mejor.

Como sería para al entrar en el sistema sin tener habilitadas las cookies avise al usuario de ello?

Muchas gracias.
  #13 (permalink)  
Antiguo 07/11/2005, 11:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
No sé si me he explicado bien Cluster, me pregunto si por ejemplo tengo un formulario en la ventana popup, si el action de ese formulario tendría también que llevar aut_verifica_popup.inc.php. Ya no haría falta, no? Podría llevar perfectamente aut_verifica.inc.php
Todo script debe incluir la validación de sesiones que hace aut_verifica.inc.php o tu modificación .. se abra en una ventana o no ..

De nada sirve poner una "puerta blindada" a un recinto que no está cerrado por "muros". No sé si entendistes que pretendo explicar con esto .. pero según tu criterio .. estas poniendo una validación a un script dado .. que dá el acceso a otros, ¿que pasa si entro directo a uno de esos scripts sin pasar por tu "puerta" de entrada? .. Si no usas la validación (que la proporciona aut_verifica.inc.php) .. entraría sin problemas.

Cita:
Como sería para al entrar en el sistema sin tener habilitadas las cookies avise al usuario de ello?
Teóricamente .. generando una cookie (setcookie()), recargas tu página y si no puedes acceder a tu cookie es que tu usuario no las tiene activadas.

Pero .. si te fijas bien, si tu desarrollas un sistema que use sesiones (propagando el SID en cookies como ahora lo haces usando Autentificator) y no puedes acceder a tus variables de sesión, ... (como ahora gestiona Autentificator) puedes arrojar un mensaje de error tipo "Acceso incorrecto o cookies no habilitadas" .. El usuario ya sabrá si estaba entrando de forma incorrecta a tu sistema y se dará por aludido .. si estaba entrando de forma correcta el problema es con sus cookies. Sé que no es muy "ortodoxso" mi solución .. pero es lo que suele pasar siempre con el uso de sesiones de esta forma.

Además que ten presente que no sólo se trata de "habilitar cookies" .. hay que avisar a tu usuario que no sólo los navegadores bloquean esas cookies .. (ya te hice el comentario al respecto) .. lamentablemente algunos usuarios no saben ni que tienen instalados, otros son usuarios bajo un red LAN donde hay políticas de la empresa que el usuario no conoce .. en fin . .muchos factores que pueden influir en el tema.

Un saludo,
  #14 (permalink)  
Antiguo 07/11/2005, 12:51
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Ya Cluster, te entendí perfectamente. Mi dilema no está en usar o no aut_verifica.inc.php. Sino en usar en las siguientes y sucesivas pantallas aut_verifica.inc.php o aut_verifica_popup.inc.php.

No sé si me explico, en el primer popup que tiene un formulario utilizo aut_verifica_popup.inc.php, en el fichero del action tengo obligación de utilizar otra vez aut_verifica_popup.inc.php que tiene quitado todo lo de HTTP_REFERER o debería de utilizar aut_verifica.inc.php?

Saludos y muchas gracias.
  #15 (permalink)  
Antiguo 07/11/2005, 13:32
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Puedes usar para todo tu modificación del código que elimina el HTTP_REFERER. De hecho ya había pensado en eliminarlo del código original por mi parte por los problemas que plantea vs los pocos beneficios que dá.

Un saludo,
  #16 (permalink)  
Antiguo 07/11/2005, 16:27
 
Fecha de Ingreso: marzo-2005
Mensajes: 142
Antigüedad: 12 años, 8 meses
Puntos: 0
Gracias Cluster, me has sido de gran ayuda. Al final conseguí que me funcionara.

Eres grande.

Un saludo,

Leo.
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 18:10.