laravel-security

Laravel security best practices — authentication, authorization, Eloquent safety, CSRF, XSS prevention, API security, and secure deployment configurations. Use when reviewing Laravel auth, Eloquent safety, CSRF, XSS, API security, or deployment configuration.

By affaan-m · 3,230 installs

npx skills add affaan-m/ecc --skill laravel-security

Source repository · Upstream listing

Laravel Security Best Practices Comprehensive security guidelines for Laravel applications to protect against common vulnerabilities. When to Activate Setting up Laravel authentication and authorization (Sanctum, Passport, Jetstream, Breeze) Implementing user roles, permissions, and policies Configuring production security settings and environment variables Reviewing Laravel applications for security vulnerabilities Deploying Laravel applications to production Writing secure Eloquent queries and migrations Production Configuration Essential Production Settings Environment File Security HTTPS Enforcement Authentication Sanctum (API Token Authentication) Password Security Session Management Authorization Gates Policies Middleware Authorization Eloquent Security Mass Assignment Protection SQL Injection Prevention Attribute Casting Model Security CSRF Protection Default Protection Excluding Routes (Carefully) CSRF with JavaScript XSS Prevention Blade Templating Security Safe HTML Handling JavaScript Context Escaping HTTP Headers for XSS Protection Input Validation Form Request Validation Custom Validation Rules API Security Rate Limiting API Authentication — Sanctum vs Passport CORS Configuration File Upload Security Validation Secure Storage Dependencies and Secrets Composer Security Secret Management Queue Security Logging Security Events Quick Security Checklist Check Description APP DEBUG=false Never run with debug enabled in production APP KEY set Always run php artisan key:generate HTTPS enforced Force HTTPS in production via middleware or proxy $fillable whitelisted Never use $guarded = [] CSRF active @csrf on all state changing forms Sanctum/Passport configured API authentication with token abilities/scopes Rate limiting applied Throttle API and auth endpoints Input validation FormRequest with specific rules, never $request all() File upload restrictions Validate MIME types, size, dimensions composer audit in CI Check dependencies for known vulnerabilities password hash / password verify Use Laravel's built in hashing (bcrypt/Argon2) Session regeneration on login Call $request session() regenerate() Security headers middleware CSP, X Frame Options, X Content Type Options Logged security events Audit log for auth failures, role changes, suspicious activity .env not committed Verify .gitignore includes .env Related Skills laravel patterns — Laravel architecture, routing, Eloquent, and API patterns backend patterns — General backend API and database patterns laravel tdd — Laravel testing with PHPUnit and Pest