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 a todos soy nuevo, estuve probando el ejemplo que hay en esta página del sistema de autentificación y cuando bajé los archivos y los ...
  #1 (permalink)  
Antiguo 21/05/2003, 12:41
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 10 meses
Puntos: 6
Autentificación

Hola a todos soy nuevo, estuve probando el ejemplo que hay en esta página del sistema de autentificación y cuando bajé los archivos y los puse en mi servidor me encuentro con que siempre me da usuario inválido (aunque estoy seguro de que pongo correctamente el usuario y la clave).
Como tengo PHP 4.0.6 probé cambiar $_SESSION por $HTTP_SESSION_VARS como dice el manual de PHP y el resultado es el mismo.
Verifiqué el valor de la variable $_SESSION["autentificado"] en la página que la chequea, la que debería tener el valor SI en caso de que el usuario y la clave sean miguel y qwerty y en vez de eso la variable contiene un valor nulo. Es por esto que siempre me da como usuario inválido

La gran pregunta: ¿Por qué $_SESSION["autentificado"] se "olvida" del valor SI?

Probé el sistema en su versión anterior, usando session_register y con register_globals=On y ahi si funciona, pero como dice esta misma página eso tiene un grave agujero de seguridad.

Les agradecería mucho ayuda porque hace mucho que estoy renegando con esto, y lo necesito para incorporarle seguridad a mi propio proyecto, desde ya muchas gracias,

Tomás.
  #2 (permalink)  
Antiguo 21/05/2003, 14:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Los arrays superglobales (en este caso) $_SESSION está disponibles desde PHP 4.1.0 en adelante. $HTTP_SESSION_VARS está disponibles desde PHP 4.0.?

http://www.php.net/manual/en/reserved.variables.php

Por lo tanto .. en $_SESSION['indice'] como array no vas a tener ningún valor referente a sesiones. Deberías usar:

$HTTP_SESSION_VARS (para leer tus variables de sesión) y session_register() para registrar tus variables de sesión para esa versión de PHP que dispones.

Intenta actualizartela ... ha llovido mucho en PHP desde esa versión a la 4.3.2 RC3 que ya está disponible. (en PHP . un simple "número" en el tercer bloque de la versión x.x.x puede significar muchoooo en cuanto a revision de bug o implementación de algún nuevo método como lo es el uso de los arrays $_SESSION)

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 21/05/2003, 21:51
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 10 meses
Puntos: 6
¿De dónde puedo bajar un rpm con la última versión de PHP y el módulo para MySQL (php-mysql) para el Red Hat Linux 7.2? Porque he intentado compilarlo como se indica en el manual y no me funciona.
Y ya que estoy una pregunta más: En el manual explica que cuando se compila se pueden activar o desactivar varias funciones de PHP (por ejemplo --with-mysql o --enable-trans-sid) pero si uno lo instaló desde un rpm ¿cómo defino estas opciones?

Desde ya muchas gracias, saludos,

Tomás
  #4 (permalink)  
Antiguo 22/05/2003, 09:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Por ejemplo de:

www.rpmfind.net

Ahí puedes buscar tu RPM para tu distribución de Linux que uses.

Si usas "RPM's" .. hay unos típo: php-mysql ....... que instalan el soporte Msyql por ejemplo (si mal no recuerdo) .. El resto de directivas de configuración .. Puedes modificar el php.ini directamente (la ubicación de tu php.ini la indica un phpinfo() de tu PHP )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 24/05/2003, 13:31
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 10 meses
Puntos: 6
Exito!Mas dudas sobre autentificación

¡Exito! Logré compilar por propia mano la versión 4.3.1 de PHP y ahora el sistema de autentificación que bajé de esta página funciona perfecto. Molesto con dos preguntas más:

1. ¿Qué tan seguro es en realidad el ejemplo que se muestra aquí? ¿Puedo usarlo en un proyecto real?

2. Cuando compilé PHP recibí un sólo mensaje que más que de error parace ser de advertencia, pero no entiendo a qué se refiere: "The use of 'Tempnam' is dangerous, better use 'mkstemp'" ¿Que significa esto???

Bueno muchas gracias por todo, saludos,

Tomás.
  #6 (permalink)  
Antiguo 24/05/2003, 14:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
No sé a que ejemplo te refieres (sólo entro a forosdelweb.com .. no por otra web ..). Si nos pones el link veremos el código y te podremos orientar ....

Sobre el 2º problema . .NI idea ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 25/05/2003, 15:18
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 10 meses
Puntos: 6
Ejemplo de sistema de autentifiación

Ok este es el link donde se encuentra el ejemplo que bajé.

http://www.desarrolloweb.com/manuales/37/

Desde ya muchas gracias,

Tomás.
  #8 (permalink)  
Antiguo 25/05/2003, 18:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pues el sistema es "bueno" .. usa sesiones via $_SESSION asi que no hay problemas con el tema de usar sesiones como globales ..

Por lo menos en un principio tenía ese gran fallo .. ahora lo solventó (mira los comentarios de los usuarios) ...
http://www.desarrolloweb.com/articul....php?manual=37

Y .. bueno si es seguro o no . Yo hice un script similar (Autentificator .. en mi perfil lo puedes ver) .. Y bueno, hasta la fecha no me han reportado ningun fallo de segurida.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 26/05/2003, 23:28
 
Fecha de Ingreso: mayo-2003
Mensajes: 523
Antigüedad: 20 años, 10 meses
Puntos: 6
Posible agujero de seguridad

Hola haciendo tests en mi sistema descubrí algo que podría ser un problema en algunos casos:

He provisto mi sistema de un botón "Cerrar sesión", si el usuario lo presiona la sesión se destruye, el sistema "olvida" que el usuario alguna vez se logueó correctamente y cero problemas en ese caso.
Pero, ¿qué pasa si el usuario no usa ese botón y simplemente cierra la ventana del navegador? (Como hacemos la mayoría...). He comprobado que la sesión queda abierta!

¿Hay alguna forma de lograr que si el usuario cierra la ventana del navegador la sesión se destruya automáticamente?
  #10 (permalink)  
Antiguo 26/05/2003, 23:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pues depende de la configuración de PHP ...

Si propagas el SID en una cookie .. la cooki por defecto expira a "0 segundos" osese, al cerrar tu navegador expira .. Si tienes un tiempo mayor .. en ese tiempo podrías entrar a tu página sin problemas ...

Esto lo determina la directiva:
session.cookie_lifetime

Tambien afectan otras directivas:
session.gc_maxlifetime = 0
session.cache_expire = Usalo a 0 y no tendras problemas ...

Por mi parte .. suelo usar "forzar" a PHP a que me "expire" el "caché" siempre:

session_cache_limiter('nocache,private');
(despues de todos tu sesion_start() que uses ..)

Y también puedes ajustar tu tiempo de expiración a mano via:

session_cache_expire(segundos);

Yo uso session_cache_limiter() .. y no dependo de la configuración del servidor (pues así la fuerzo yo manualmente en mis scripts) .. Sé que puede dar problemas esas cabeceras con algún navegador .. (sobre todo la del private si mal no recuerdo en algún síto que lei ...).

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 16:46.