Fix: legal-request-Honeypot nickt Bots wieder still ab
Die size:0-Regeln liefen vor dem Honeypot-Zweig: ein gefuelltes Feld produzierte einen Validierungsfehler (verraet die Falle), der stille done()-Pfad war tot. Honeypot-Check jetzt vor der Validierung; Test schaerft das Soll (kein Fehler, normaler Erfolgs-Redirect). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
9875e7b6e1
commit
4e4aff115d
2 changed files with 12 additions and 10 deletions
|
|
@ -39,6 +39,13 @@ class LegalRequestController extends Controller
|
|||
{
|
||||
$release = $this->resolvePublishedRelease($slug);
|
||||
|
||||
// Bot: ein ausgefülltes Honeypot-Feld → still und neutral abnicken,
|
||||
// nichts speichern. Bewusst VOR der Validierung — eine size:0-Regel
|
||||
// würde mit ihrer Fehlermeldung einem Bot die Falle verraten.
|
||||
if (filled($request->input('website')) || filled($request->input('homepage'))) {
|
||||
return $this->done($release);
|
||||
}
|
||||
|
||||
$validated = $request->validate([
|
||||
'type' => ['required', Rule::enum(LegalRequestType::class)],
|
||||
// E-Mail für DSGVO/Persönlichkeitsrecht nötig (Rückmeldung); bei
|
||||
|
|
@ -51,19 +58,10 @@ class LegalRequestController extends Controller
|
|||
'nullable', 'email', 'max:255',
|
||||
],
|
||||
'message' => ['required', 'string', 'min:10', 'max:5000'],
|
||||
// Honeypots: müssen leer bleiben (versteckte Felder, nur für Bots).
|
||||
'website' => ['nullable', 'size:0'],
|
||||
'homepage' => ['nullable', 'size:0'],
|
||||
]);
|
||||
|
||||
$type = LegalRequestType::from($validated['type']);
|
||||
|
||||
// Bot: ein ausgefülltes Honeypot-Feld → still und neutral abnicken,
|
||||
// nichts speichern (keine Fehlermeldung, die einem Bot etwas verrät).
|
||||
if (filled($request->input('website')) || filled($request->input('homepage'))) {
|
||||
return $this->done($release);
|
||||
}
|
||||
|
||||
$this->ensureNotRateLimited($release);
|
||||
|
||||
// Bremse: max. 1 offene Anfrage pro PM + Typ (nicht hart gesperrt – andere
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue