Buenas prácticas de seguridad en Laravel para autenticación/autorización, validación, CSRF, asignación masiva, subida de archivos, secretos, limitación de velocidad y despliegue seguro.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Buenas prácticas de seguridad en Laravel para autenticación/autorización, validación, CSRF, asignación masiva, subida de archivos, secretos, limitación de velocidad y despliegue seguro.
origin
ECC
Buenas Prácticas de Seguridad en Laravel
Guía completa de seguridad para aplicaciones Laravel que protege contra vulnerabilidades comunes.
Cuándo Activar
Agregar autenticación o autorización
Manejar entrada de usuarios y subida de archivos
Construir nuevos endpoints de API
Gestionar secretos y configuración de entornos
Reforzar despliegues en producción
Cómo Funciona
El middleware proporciona protecciones de base (CSRF mediante VerifyCsrfToken, cabeceras de seguridad mediante SecurityHeaders).
Los guards y policies aplican el control de acceso (auth:sanctum, $this->authorize, middleware de policy).
Los Form Requests validan y dan forma a la entrada (UploadInvoiceRequest) antes de que llegue a los servicios.
La limitación de velocidad agrega protección contra abusos (RateLimiter::for('login')) junto con controles de autenticación.
La seguridad de datos proviene de casts encriptados, guards de asignación masiva y rutas firmadas (URL::temporarySignedRoute + middleware signed).
Configuración Principal de Seguridad
APP_DEBUG=false en producción
APP_KEY debe estar establecido y rotarse al comprometerse
Establecer SESSION_SECURE_COOKIE=true y SESSION_SAME_SITE=lax (o strict para apps sensibles)
Configurar proxies de confianza para la detección correcta de HTTPS
Reforzamiento de Sesión y Cookies
Establecer SESSION_HTTP_ONLY=true para prevenir acceso desde JavaScript
Usar SESSION_SAME_SITE=strict para flujos de alto riesgo
Regenerar sesiones al iniciar sesión y al cambiar privilegios
Autenticación y Tokens
Usar Laravel Sanctum o Passport para autenticación de API
Preferir tokens de corta vida con flujos de actualización para datos sensibles
Revocar tokens al cerrar sesión y en cuentas comprometidas
Ejemplo de protección de rutas:
useIlluminate\Http\Request;
useIlluminate\Support\Facades\Route;
Route::middleware('auth:sanctum')->get('/me', function (Request $request) {
return$request->user();
});
Seguridad de Contraseñas
Hashear contraseñas con Hash::make() y nunca almacenar texto plano
Usar el password broker de Laravel para los flujos de restablecimiento