Corporación Universitaria Minuto de Dios
Taller. Parte 1: Captura y validación de datos
Login seguro con MySQL, bcrypt y JWT
Estudiante: Nelson Arturo Caicedo Ceron
Semana 6 13/10/2025
NRC-2388-Seguridad en el Desarrollo de Software Profesor: Sergio Andres Torres Martinez
Introducción
En este trabajo haremos un sistema de autenticación básico y seguro que integra validación de datos en el cliente, verificación de credenciales contra una base de datos MySQL y protección de sesiones mediante contraseñas hasheadas con bcrypt y emisión de JSON Web Tokens (JWT). El objetivo es demostrar un flujo de login fiable: el usuario ingresa sus datos en un formulario HTML/JS, el servidor Node.js/Express valida la información con buenas prácticas (manejo de errores, variables de entorno y secreto JWT robusto) y, si las credenciales son correctas, genera un token firmado que habilita el acceso a rutas protegidas. Con este trabajo estudiaremos temas como la autorización por roles, políticas de expiración y controles de seguridad adicionales (rate limiting, bloqueo por intentos, HTTPS).
¿Qué se implementó?
¿Para qué?
- Formulario de login con validaciones mínimas
- Backend en Node.js/Express
- Verificación de credenciales en MySQL
- Emisión y uso de JSON Web Token (JWT)
- Asegurar el acceso a rutas protegidas
- Establecer base para autorización por roles
Objetivos de la actividad
- Implementar un login con verificación en base de datos
- Generar y validar tokens JWT
- Documentar el proceso con capturas
- Aplicar buenas prácticas de seguridad básicas
Arquitectura y flujo
Iniciamos el XAMPP
Creamos el proyecto en Visual Studio code
index.html corriendo el localhost
Base de datos (MySQL)
Registro de usuario (bcrypt)
El la terminal de Visual Studio creamos un usario mediante el comando node registerUser.js mateo "contrasena456"
Al refresacar phpmyAdmin ya nos aparece el nuevo usuario "mateo" con la hash correspondiente a su contrasena.
Activamos el localhost para acceder al index.html
Intentamos ingresar con contrasena incorrecta
Intentamos ingresar con contrasena correcta
Conclusión
La implementación del login con MySQL, bcrypt y JWT demostró un flujo de autenticación fiable y sencillo de mantener: valida entradas en el cliente, verifica credenciales de forma segura en el servidor y protege recursos con tokens. Este prototipo sienta bases claras para escalar a autorización por roles, mejores políticas de seguridad (HTTPS, rate limiting) y un ciclo de vida de sesiones más robusto.you very much!
Bibliografía
Jones, M., Bradley, J., & Sakimura, N. (2015). JSON Web Token (JWT) (RFC 7519). IETF. https://www.rfc-editor.org/rfc/rfc7519 Auth0. (s. f.). Introducción a JSON Web Tokens. https://jwt.io/introduction GitHub. (s. f.). jsonwebtoken – JSON Web Token implementation for Node.js. https://github.com/auth0/node-jsonwebtoken OpenJS Foundation. (s. f.). Express – web framework for Node.js. https://expressjs.com/ Node.js Foundation. (s. f.). Node.js Documentation. https://nodejs.org/en/docs GitHub. (s. f.). bcrypt for Node.js. https://github.com/kelektiv/node.bcrypt.js Oracle. (s. f.). MySQL 8.0 Reference Manual. https://dev.mysql.com/doc/ phpMyAdmin. (s. f.). phpMyAdmin Documentation. https://docs.phpmyadmin.net/ Apache Friends. (s. f.). XAMPP Official. https://www.apachefriends.org/ OWASP. (2023). OWASP ASVS – Application Security Verification Standard. https://owasp.org/www-project-application-security-verification-standard/ Microsoft. (s. f.). Visual Studio Code Docs. https://code.visualstudio.com/docs
Taller. Parte 1: Captura y validación de datos
nelson arturo caicedo ceron
Created on October 14, 2025
Start designing with a free template
Discover more than 1500 professional designs like these:
View
Terrazzo Presentation
View
Visual Presentation
View
Relaxing Presentation
View
Modern Presentation
View
Colorful Presentation
View
Modular Structure Presentation
View
Chromatic Presentation
Explore all templates
Transcript
Corporación Universitaria Minuto de Dios
Taller. Parte 1: Captura y validación de datos
Login seguro con MySQL, bcrypt y JWT
Estudiante: Nelson Arturo Caicedo Ceron
Semana 6 13/10/2025
NRC-2388-Seguridad en el Desarrollo de Software Profesor: Sergio Andres Torres Martinez
Introducción
En este trabajo haremos un sistema de autenticación básico y seguro que integra validación de datos en el cliente, verificación de credenciales contra una base de datos MySQL y protección de sesiones mediante contraseñas hasheadas con bcrypt y emisión de JSON Web Tokens (JWT). El objetivo es demostrar un flujo de login fiable: el usuario ingresa sus datos en un formulario HTML/JS, el servidor Node.js/Express valida la información con buenas prácticas (manejo de errores, variables de entorno y secreto JWT robusto) y, si las credenciales son correctas, genera un token firmado que habilita el acceso a rutas protegidas. Con este trabajo estudiaremos temas como la autorización por roles, políticas de expiración y controles de seguridad adicionales (rate limiting, bloqueo por intentos, HTTPS).
¿Qué se implementó?
¿Para qué?
Objetivos de la actividad
Arquitectura y flujo
Iniciamos el XAMPP
Creamos el proyecto en Visual Studio code
index.html corriendo el localhost
Base de datos (MySQL)
Registro de usuario (bcrypt)
El la terminal de Visual Studio creamos un usario mediante el comando node registerUser.js mateo "contrasena456"
Al refresacar phpmyAdmin ya nos aparece el nuevo usuario "mateo" con la hash correspondiente a su contrasena.
Activamos el localhost para acceder al index.html
Intentamos ingresar con contrasena incorrecta
Intentamos ingresar con contrasena correcta
Conclusión
La implementación del login con MySQL, bcrypt y JWT demostró un flujo de autenticación fiable y sencillo de mantener: valida entradas en el cliente, verifica credenciales de forma segura en el servidor y protege recursos con tokens. Este prototipo sienta bases claras para escalar a autorización por roles, mejores políticas de seguridad (HTTPS, rate limiting) y un ciclo de vida de sesiones más robusto.you very much!
Bibliografía
Jones, M., Bradley, J., & Sakimura, N. (2015). JSON Web Token (JWT) (RFC 7519). IETF. https://www.rfc-editor.org/rfc/rfc7519 Auth0. (s. f.). Introducción a JSON Web Tokens. https://jwt.io/introduction GitHub. (s. f.). jsonwebtoken – JSON Web Token implementation for Node.js. https://github.com/auth0/node-jsonwebtoken OpenJS Foundation. (s. f.). Express – web framework for Node.js. https://expressjs.com/ Node.js Foundation. (s. f.). Node.js Documentation. https://nodejs.org/en/docs GitHub. (s. f.). bcrypt for Node.js. https://github.com/kelektiv/node.bcrypt.js Oracle. (s. f.). MySQL 8.0 Reference Manual. https://dev.mysql.com/doc/ phpMyAdmin. (s. f.). phpMyAdmin Documentation. https://docs.phpmyadmin.net/ Apache Friends. (s. f.). XAMPP Official. https://www.apachefriends.org/ OWASP. (2023). OWASP ASVS – Application Security Verification Standard. https://owasp.org/www-project-application-security-verification-standard/ Microsoft. (s. f.). Visual Studio Code Docs. https://code.visualstudio.com/docs