- 1

Portafolio personal con PHP puro: estructura y router propio
01:12 - 2

Construcción de estructura web básica con PHP
05:30 - 3

Vistas parciales en PHP para código reutilizable
08:11 - 4

Integración de Tailwind CSS para mejorar el diseño de menús web
04:06 - 5

Activar botones de menú dinámicamente con PHP
07:08 - 6

Implementación del patrón Front Controller en PHP
09:44 - 7

Conexión a MySQL con PDO y consultas dinámicas en PHP
09:02 quiz de Introducción
Middleware en PHP para proteger rutas con autenticación
Clase 22 de 33 • Curso de PHP Avanzado
Contenido del curso
- 22

Middleware en PHP para proteger rutas con autenticación
07:02 - 23

Refactorización de middleware con clases e interfaces en PHP
05:26 - 24

Vista de inicio de sesión con PHP y control de acceso
07:21 - 25

Validación de credenciales y consultas de usuario en la base de datos
08:55 - 26

Cifrado de contraseñas y gestión de sesiones en PHP
07:31 quiz de Seguridad
- 27

Separación de lógica de autenticación en clases PHP
05:13 - 28

Redirección automática después de enviar formularios
08:05 - 29

Manejo de mensajes flash en PHP con Session Manager
05:50 - 30

Helpers para gestión de sesiones en PHP
08:06 - 31

Integración de funciones con sistema de sesiones en PHP
07:37 - 32

Sistema de redirecciones con mensajes en PHP
06:00 - 33

Middleware para proteger rutas de usuarios logueados en PHP
04:11
Ganar seguridad en una página web implica proteger determinados accesos para que solo usuarios autorizados puedan interactuar con áreas sensibles del sitio. Una técnica práctica y eficaz para lograr esto en PHP es crear un middleware, una herramienta intermedia que verifica el acceso del usuario antes de permitirle continuar a una funcionalidad específica.
¿Qué es un middleware y cómo funciona en PHP?
Un middleware actúa como intermediario entre la petición del usuario y el sistema principal. Su función es validar ciertas condiciones antes de permitir o denegar el acceso. Básicamente, intercepta peticiones para confirmarlas y redireccionarlas según las reglas de seguridad.
La forma en que funciona es sencilla:
- El usuario realiza una petición a una ruta.
- Antes de acceder directamente al método controlador, el middleware verifica si el usuario está autenticado.
- Si está autenticado, permite continuar.
- Si no lo está, redirige al usuario a la página de inicio de sesión.
¿Cómo desarrollar un middleware para validar la autenticación?
Para desarrollar un middleware en PHP, es necesario seguir estos pasos esenciales:
- Crear una carpeta específica para middleware en el proyecto.
- Definir un namespace claro para organizar el código se forma más intuitiva.
- Implementar una clase que tome en cuenta un método mágico ya conocido del curso básico de PHP.
- Programar la lógica de autenticación utilizando condiciones. Por ejemplo, si el usuario no está autenticado, efectuar su redirección a la vista de login mediante un helper que ya exista. Ejemplo básico:
if (!isset($_SESSION['usuario'])) {
redirect('login');
}
¿Qué pasos detallados hay que seguir para implementar middleware en las rutas?
A continuación compartimos los pasos a nivel estructural para incorporar middleware en la definición de rutas del proyecto:
- Cada ruta protegida debe tener explícitamente definido el middleware.
- Se añade como un tercer parámetro opcional en el arreglo que define cada ruta, facilitando lectura y estructura.
- Ejemplo de incorporación en ruta:
$rutas = [
'editar' => ['accion' => 'editarPost', 'middleware' => 'autenticado'],
'guardar' => ['accion' => 'guardarPost', 'middleware' => 'autenticado'],
// Otras rutas configuradas de forma similar
];
Posteriormente, en el gestor de rutas principal analizamos:
if(isset($ruta['middleware'])) {
(new $ruta['middleware'])();
}
Es fundamental señalar que la acción que realiza middleware se activa al instanciarlo (crear un nuevo objeto), aplicando esta revisión de permisos en ese punto.
¿Qué resultado esperar al implementar middleware en PHP?
Al implementar el middleware tendremos:
- Protección efectiva en rutas que solo podrían ser accesibles mediante autenticación.
- Intercepción de intentos no autorizados y redireccionamiento automático a la página de login creada para la autenticación.
- Mejora notable en la organización y seguridad del código, facilitando así su lectura y soporte a largo plazo.
Este mecanismo sencillo pero poderoso es esencial para la gestión segura y organizada de accesos a distintas secciones de un sitio web desarrollado en PHP. Además, la implementación práctica del reto propuesto permite reforzar este aprendizaje aplicándolo directamente en módulos específicos como el blog.
¿Te animas a compartir tu experiencia o dudas sobre middleware o autenticación en PHP?