Kritim Yantra
Apr 01, 2025
If you're building a web application with Laravel, you’ve probably heard about CSRF protection. But what exactly is it, and why does Laravel enforce it by default?
In this blog, we’ll break down CSRF (Cross-Site Request Forgery) protection in Laravel 12 in simple terms. Whether you're a beginner or just need a refresher, this guide will help you understand why CSRF protection is crucial for your app’s security.
CSRF (Cross-Site Request Forgery) is a type of malicious attack where an unauthorized command is sent from a user that the website trusts.
This is a CSRF attack—the attacker tricks your browser into performing actions without your consent.
Laravel makes CSRF protection simple by automatically generating and verifying CSRF tokens.
<form method="POST" action="/submit">
@csrf <!-- This generates the hidden CSRF token -->
<input type="text" name="email">
<button type="submit">Submit</button>
</form>
When submitted, Laravel checks the @csrf
token to ensure the request is legitimate.
@csrf
in forms, and Laravel handles the rest.Sometimes, you might need to disable CSRF for certain routes (e.g., API endpoints). You can do this in app/Http/Middleware/VerifyCsrfToken.php
:
protected $except = [
'api/webhook', // Exclude a specific route
];
⚠️ Warning: Only disable CSRF if you have other security measures (like API tokens).
CSRF protection in Laravel 12 is a must-have security feature that prevents attackers from exploiting user sessions. By simply adding @csrf
to your forms, you ensure that only legitimate requests are processed.
✔ Always use @csrf
in forms.
✔ Never disable CSRF unless absolutely necessary.
✔ Keep Laravel updated for the latest security fixes.
By understanding and implementing CSRF protection, you’re making your Laravel app more secure for your users! �
Got questions? Drop them in the comments below!
No comments yet. Be the first to comment!
Please log in to post a comment:
Continue with Google