- ✅ Honeypot field
- ✅ Time-based check
- ✅ reCAPTCHA v3
- ✅ IP rate limiting
- ✅ Spam word filtering
- ✅ CSRF protection
// web.php
Route::post('/contact', [ContactController::class, 'submit'])->middleware('throttle:3,1');
// ContactController
public function submit(Request $request) {
if ($request->has('fake_field')) return abort(403); // honeypot
if (now()->diffInSeconds(session('form_start_time')) < 3) return abort(403); // timing
// other checks...
}