Want to create interactive content? It’s easy in Genially!

Get started free

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:

Smart Presentation

Practical Presentation

Essential Presentation

Akihabara Presentation

Pastel Color Presentation

Visual Presentation

Relaxing Presentation

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é?

  • 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