Vídeo del tablón de anuncios PHP Parte 6 - Mejoras de seguridad del login

  • Por
  • PHP
Videotutorial de PHP en el que implementamos algunas mejoras de seguridad en el proceso de autenticación de usuarios en nuestra aplicación Tablón de Anuncios.
En el capítulo anterior del Videotutorial de PHP que estamos publicando en DesarrolloWeb.com estudiamos una manera de acometer un sistema de autenticación en un sitio web. En la pasada entrega, publicada en la parte 5 del vídeo de tablón de anuncios, realizamos un sistema de login rudimentario, donde preguntamos al usuario sobre su email y clave, dados de alta en el proceso de registro.

En el presente material vamos a ir un poco más allá de donde lo dejamos en el anterior vídeo, con una implementación de un script que pueda mejorar un poco la seguridad de nuestra aplicación web. La idea es hacer un poco más complejo el script que dice si un usuario está o no autenticado, para evitar un posible fallo de seguridad de acceso no permitido.

Realmente vamos a realizar un par de acciones en este vídeo:

1) Hacer un recuadro en la aplicación web que de la bienvenida al usuario autenticado. Este recuadro solo aparecerá en el momento que el usuario se ha logueado en el sistema y lo saludará utilizando el nombre con el que se dio de alta.

2) Implementar un mayor nivel de seguridad en la función estas_autenticado() que nos devuelve true/false según el usuario haya hecho login convenientemente en el sistema, o no.

Nota: Aclaramos que el sistema que estamos haciendo no es completamente seguro. Realmente ningún software está 100% libre de errores, al igual que tampoco podemos asegurar nunca que un sistema sea inmune a ataques. En esta aplicación en concreto es diferente, porque yo os aseguro que NO es segura, pues todavía habría que revisar otros pocos detalles antes de ponerla en producción con las debidas garantías. No obstante, estamos aprendiendo poco a poco a implementar niveles de seguridad, como los que vamos a ver en el presente videotutorial.

Como verás en el vídeo, además realizaremos algunas modificaciones en la aplicación web de manera general, como abrir la conexión con la base de datos en todas las páginas y cerrarla en el pie de página. Esto provocará algunos cambios en los scripts y os adelanto que durante ellos encontramos algún que otro problemilla de difícil detección. No obstante, hemos dejado el videotutorial mostrando todos los problemas encontrados al desarrollar, lo que esperamos os de ideas sencillas sobre cómo localizar y resolver problemas que se puedan producir durante la programación con PHP.

Os dejamos ya con este vídeo, en el que zanjamos el sistema de autenticación de usuarios en aplicaciones web.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Churrus

27/7/2011
Tablón de anuncios
Hola.

Gracias por este gran videotutorial. Sencillo de entender y bien explicado. Me gusta mucho como solventas los errores y el debug manual con el comando exit.

Saludos.

Lulu86

07/5/2012
ayuda
Buenos días, lo primero perdón por mi ignorancia, pero no entiendo demasiado el vídeo.

En dologin recibimos un mail y una contraseña y comprobamos que ese mail está en la base de datos y que la contraseña corresponde con la de la base de datos, ahí iniciamos la sesión guardando el nombre de usuario entre otros.

No entiendo por qué en la función estás_autenticado, partiendo de que existan las variables de $_SESSION, volvemos a conectar con la base de datos para comprobar el email, la unicidad y la contraseña. ¿No se supone que si existe $_SESSION es porque ya hay un mail y una contraseña que coincide? No sé, siento como que se hace dos veces la misma comprobación.

Si alguien puede explicarme un poquito. Gracias.

oliver12387

29/8/2012
Saludo
Hola! Llevo unas semanas viendo tus videos y la verdad esq estan todos muy bien explicados, felicidades!

Aparte me encanta que cometas errores y los soluciones en vivo, creo que se puede aprender mucho al respecto!!

Una sugerencia, para que no se puedan registrar 2 personas con el mismo e-mail bastaria con hacer un alter en el campo e-mail y añadirle el atributo unique!

Un saludo!