Rate limiting: open endpoints zijn een open deur voor misbruik
Stel je voor: je hebt een loginpagina. Een gebruiker vult een e-mailadres en wachtwoord in, en jouw app controleert of die combinatie klopt. Normaal werkt dat prima.
Maar wat als iemand geen gebruiker is, maar een script? Dat script kan in één minuut duizend pogingen doen met duizend verschillende wachtwoorden. Zonder rem, zonder blokkade.
Dat is een brute force-aanval. Zonder rate limiting ligt je app er helemaal open voor.
Wat is rate limiting?
Rate limiting betekent dat je een maximum zet op het aantal verzoeken dat iemand in een bepaalde tijd mag doen. Bijvoorbeeld: maximaal 5 inlogpogingen per minuut per IP-adres. Bij overschrijding wordt het verzoek geweigerd of wordt de gebruiker even geblokkeerd.
Het is een van de simpelste beveiligingsmaatregelen, maar AI-tools laten het bijna altijd weg.
Welke endpoints zijn risicovol?
Niet alleen login. Denk ook aan:
- Wachtwoord vergeten: onbeperkt aanroepen kan je e-mailkosten laten exploderen
- Registratie: spam-accounts aanmaken in bulk
- Contactformulieren: misbruik als spamkanaal
- AI-functies: elke aanroep kost jou geld, onbeperkte aanroepen zijn dus direct financieel risico
Hoe implementeer je het?
De aanpak hangt af van je stack, maar de basis is altijd hetzelfde:
- Bijhouden wie wat aanroept: op basis van IP-adres of gebruikersaccount
- Een teller bijhouden: hoeveel aanroepen in de afgelopen X minuten?
- Blokkeren bij overschrijding: met een duidelijke foutmelding (429 Too Many Requests)
Populaire oplossingen zijn Upstash Rate Limiting (werkt goed met Next.js en Vercel) of middleware in je backend. Vraag je AI-tool: “Voeg rate limiting toe aan het login-endpoint met maximaal 5 pogingen per minuut per IP.”
Wat als je het niet doet?
Je app wordt misbruikt voor brute force-aanvallen, je API-kosten lopen onverwacht op, of je contactformulier wordt een spammachine. Allemaal vermijdbaar.
Vraag je af welke endpoints in jouw app kwetsbaar zijn? Laat het controleren. We kijken specifiek naar dit soort risico’s.
Wil je jouw project laten controleren?
Binnen 3 dagen een concreet rapport van een specialist.
Laat jouw project controleren →