logSecurityAlert('directory_traversal', $request); // Fausse réponse pour faire croire que le serveur est vulnérable return response( "

Index of /documents/private

", 200 )->header('Content-Type', 'text/html'); } public function logMassAssignment(Request $request) { $this->logSecurityAlert('mass_assignment', $request); // Faire croire que l'opération a réussi mais renvoyer une erreur 403 discrètement return response()->json([ 'status' => 'success', 'message' => 'Profil mis à jour.', 'debug' => 'Attempt logged.' ], 403); } public function downloadFakeFile(Request $request, $filename) { $this->logSecurityAlert('file_exfiltration', $request, ['filename' => $filename]); // Faux contenu $content = "Ceci est un honeypot de sécurité. Votre action a été journalisée."; return response($content, 200) ->header('Content-Type', 'text/plain') ->header('Content-Disposition', 'attachment; filename="' . $filename . '"'); } private function logSecurityAlert(string $type, Request $request, array $extraPayload = []) { \App\Models\SecurityAlert::create([ 'user_id' => auth()->id(), 'type' => $type, 'endpoint' => $request->path(), 'payload' => array_merge($request->all(), $extraPayload), 'ip_address' => $request->ip(), 'user_agent' => $request->userAgent(), ]); } }