Validación o autenticación de usuarios en PHP (primera parte)

01mar07

La validación o la también llamada autenticación de usuarios, es un problema clásico, que tarde o temprano, tenemos que utilizar en una página web. Hoy creo que casi no existe ninguna página que no incluya una validación de usuarios.

Existen varias formas de realizar una autenticación. Algunas son realmente simples aunque fallan en que no se consideran aspectos básicos de seguridad. Hay otras que consideran a la seguridad como la razón de ser de una validación (lo cual es obvio) y, por lo tanto, son mucho más complejas. La solución que aquí trato es bastante simple y sí considera aspectos básicos de seguridad, aunque no podría implementarse en un sistema de e-commerce porque no sería muy “seguro”, aunque el ejemplo sirve para entender la problemática.

Les aclaro a todos que ésta solución es prácticamente igual a muchas publicadas en varios sitios de la red, uno de ellos es: www.desarrolloweb.com

El concepto es el siguiente:

El usuario ingresa a una página, que podemos llamar login.php e ingresa un usuario y una clave o password. Una vez cargado éstos dos datos vamos a una segunda página, autenticacion.php y allí comprobamos que el usuario ingresado corresponda con la clave ingresada. Esta última página, no se muestra en pantalla, sólo sirve para comprobar que se ingresaron el usuario y la clave correctas. Si la comprobación es errónea salta a la primera página que vimos, login.php para que se ingresen nuevamente. Si es correcta la autenticación, salta a una tercera página, aplicacion.php que será una cualquiera con contenido de nuestro sitio. Esta última contendrá un bloque de seguridad que sirve para comprobar que el usuario pasó por login.php y por autenticacion.php y ya hizo una comprobación exitosa porque no queremos que alguien ingrese directamente a aplicacion.php y tenga, en forma directa, acceso a todo nuestro contenido…

La figura siguiente, explica un poco el concepto detrás de todo esto.

autenticacion.jpg

En el próximo post, les mostraré los scripts de éstos tres archivos.

About these ads


6 Responses to “Validación o autenticación de usuarios en PHP (primera parte)”

  1. 1 Gsuskrist

    la verdad me parece excelente y bien explicado tu post.
    muy buen tutorial, de verdad me ha servido mucho pues estoy desarrollando un website como proyecto de grado y justamente ando en la parte de la seguridad del sito.
    espero que siga posteando mas cosas utiles a la comunidad
    saludos brother :D

  2. 2 Juan

    Hola,

    he visto el ejemplo que describes en estos 2 artículos, y efectivamente la mecánica es la misma en muchos sitios en internet.

    Veo que comentas que el módulo o capa o bloque de seguridad es muy simple y que realmente un sistema de autenticación de este tipo se queda muy corto para una aplicación seria. Esto también lo he leído en más sitios, sin embargo lo que no sé bien cómo encontrar es cómo darle mayor “seguridad” a un sistema de autenticación…

    Quiero decir, que cosas se pueden añadir/verificar/comprobar en el bloque de seguridad para garantizar algo más robusto?

    por ejemplo, cambiar el nombre de sesión de “autenticado” a “jfJK8dqw212hdfYsa3″…

    ¿que más?

    Gracias!

    • Hola Juan: bueno. para ir directo al grano, te puedo decir que una medida importante de seguridad es la de no permitir que se ingresen caracteres especiales en el formulario donde se pide el nombre del usuario y su clave. ¿Que pasaria si en lugar de ingresar un nombre, alguien mal intensionado ingresara codigo javascript alli? las consecuencias podrían ser desastrosas para nuestro sitio…

    • Otra medida de seguridad sería la de implementar un captcha antes de ingresar alguna validación. Algunos sistemas ingresan por fuerza bruta caracteres y nombres tratando de ingresar a otros sistemas. Con un captcha estamos tratando de que el que esta validando es una persona y no un sistema. NOTA: tengo un post donde explico algo acerca de como implementar un captcha con php.

  3. 5 Rolo

    Excelente explicacion… corta y precisa….

  4. Muy buena tu explicacion! :D


Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: