Buenas prácticas a nivel general
Diseño de APIs RESTful: Buenas Prácticas y Principios Básicos
¿Qué son los HTTP Status Codes?
¿Qué son los Métodos HTTP?
Creación del proyecto
Creación y Configuración de Estructuras de Datos en Laravel
Creación de Datos Falsos con Factories en Laravel
Consultas API con Laravel: Rutas y Controladores
Consultas de Datos Relacionados en Laravel
Quiz: Creación del proyecto
Planificación y mantenimiento
Planificación y Definición de Rutas en una API con Laravel
Gestión de Recursos y Colecciones en APIs Laravel
Configuración de Recursos Multinivel en Visual Studio Code
Optimización de Consultas en Laravel con Telescope
CRUD de Recetas con Laravel y Symfony en Visual Studio Code
Validación de Datos en Aplicaciones Web con Laravel
Quiz: Planificación y mantenimiento
Funciones de seguridad
Autenticación vs. autorización
Autenticación y Generación de Tokens en Laravel
Creación de Rutas y Controladores para Iniciar Sesión en API
Corrección de bugs de seguridad en aplicaciones web
Implementación de Políticas de Acceso en Laravel
Subida y Validación de Imágenes en Laravel con Visual Studio Code
¿Qué es la autenticación?
Quiz: Funciones de seguridad
API Testing
Automatización de Pruebas en Laravel con phpArtisan Test
Testing de Módulos Administrativos en Visual Studio Code
Pruebas Automatizadas para el Módulo de Recetas en PHP
Pruebas de Creación de Datos en Aplicaciones Web
Configuración y Pruebas de Actualización de Recetas en Visual Studio Code
Quiz: API Testing
API Breaking Changes
Versionado de API: Técnica para Gestión de Versiones y Rutas
Desarrollo de API con TDD: Implementación de Versión 2
Quiz: API Breaking Changes
Conclusiones
Desarrollo de API RESTful con Laravel: Buenas Prácticas y Seguridad
Desarrollo de APIs con Pruebas y Refactorización
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
La seguridad en las aplicaciones web es fundamental para proteger la información y los datos de los usuarios. Uno de los aspectos críticos es asegurarse de que la información sensible, como las contraseñas, no se transmita de manera insegura. Este problema se puede abordar a través de dos mejoras principales: eliminar el campo de "user ID" en formularios y usar el método POST en lugar de GET para enviar datos sensibles.
Cuando se usa el método GET para enviar datos al servidor, la información se adjunta a la URL. Esto significa que cualquier dato sensible, como contraseñas, puede ser fácilmente visible en la barra de direcciones del navegador, comprometiendo así la seguridad del sistema. Para solucionar esto:
Es crucial evitar que los usuarios envíen campos no necesarios, como "user ID", al crear e interactuar con el sistema. La lógica de autenticación debe manejarse del lado del servidor, y para ello:
Este enfoque permite que el sistema maneje el campo automáticamente, reduciendo el riesgo de errores y problemas de seguridad.
A continuación, te presentamos un fragmento de código que demuestra cómo implementar estos cambios en tu aplicación.
# En la configuración del formulario
rutas.POST('/ruta-a-ejemplo', (req, res) => {
// ... lógica para manejar la solicitud
});
# En el controlador para creación de recetas
const crearReceta = (usuarioLogueado) => {
// La receta se crea a partir del usuario logueado
usuarioLogueado.crearReceta({
// Datos de la receta
});
};
Aplicar buenas prácticas de desarrollo es fundamental para mantener la seguridad y el buen funcionamiento de una aplicación. Además de las configuraciones específicas mencionadas:
Probar el sistema es tan fundamental como desarrollarlo. Herramientas como Postman son útiles para este propósito. Aquí te dejamos los pasos básicos para probar seguridad:
# Cambiar el verbo a POST
POST /api/ruta
Content-Type: application/json
Authorization: Bearer <Token>
# Cuerpo de la solicitud
{
"email": "iiarrobaadmin.com",
"password": "password",
"deviceName": "app"
}
Con estos métodos, puedes asegurar que tu aplicación se mantiene a tono con las prácticas recomendadas de seguridad. El mantener las aplicaciones seguras no solo protegen los datos de los usuarios, sino también la reputación y confianza depositada en el sistema. ¡Sigue avanzando en tu camino hacia el desarrollo seguro y eficiente!
Aportes 2
Preguntas 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?