Versie 4287456
Hotfix: Bot-gate en verbeterde spamherkenning voor ‘Algemeen contact’
Datum volgtBot-gate vóór opslag: formuliertoken + honeypot + signature-checkHeuristiek geherkalibreerd; geen valse positieven in heranalyseSpecifieke 5/min IP-limiet voor het loketNep-succesrespons voor bots; echte feedback alleen bij verlopen/te snelle tokenOpschoonscript voor bestaande spam-inzendingen
- Laag-voor-laag bot-gate vóór alle schrijfacties op het ‘Algemeen contact’-formulier - Geüpdatete heuristiek: beter onderscheid tussen echte namen/merken en random strings (geen valse positieven in heranalyse) - Strakkere rate limiting specifiek voor dit loket en misleidende succesrespons richting bots - E2E geverifieerd: spam genereert geen rijen, mails of triage meer; legitieme inzendingen blijven werken
Contactformulier ‘Algemeen contact’
- Formuliertoken vereist (opgehaald via GET /api/submit/form-token) met minimale invultijd van 4 s.
- Honeypot-veld toegevoegd dat niet wordt opgeslagen en niet in notificatiemails komt.
- Spamhandtekening herzien: detectie van random identifiers in naam/organisatie en berichten zonder witruimte van 20+ tekens.
- Nep-succesrespons voor herkende spam om aanpassen door bots te ontmoedigen; alleen verlopen token of te snel verzonden geeft een echte melding.
- Uitzonderingen: server-to-server doorzet en ingelogde behandelaars slaan de gate over.
Verbeterde heuristiek voor spamdetectie
- Random-string-detectie gekalibreerd op echte loketdata: focus op 3+ hoofdletters ná de eerste positie met gemengde casing i.p.v. verplichte cijfers.
- Controle nu ook op berichtinhoud, met uitsluiting van e-mailadressen/URL’s (bevatten leestekens).
- Heranalyse van 51 bestaande inzendingen: 28 spam correct herkend, 23 legitiem; geen valse positieven of gemiste spam (voorheen 11/51 gedetecteerd).
Rate limiting en failsafes
- Extra limiet: 5/min per IP voor dit loket, bovenop de bestaande 20/min algemene limiet.
- Failsafe: zonder AUTH_SECRET staat de gate open maar wordt elk uur gewaarschuwd in logs/monitoring.
Beheer
- Opschoonscript beschikbaar om bestaande spam-inzendingen te verwijderen met dezelfde classifier als de live gate (droogloop standaard; echt wissen met --verwijder).
Validatie
- Lokaal end-to-end geverifieerd: spampayloads maken geen Submission-rij, notificatiemail of AI-triage meer; legitieme browserinzendingen blijven ongewijzigd doorgaan.