Rate limiting met hooks
Implementeer rate limiting voor requests in de handle()-hook om API-routes te beschermen.
Rate limiting met hooks is een gratis Sveltejs Academy-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Sveltejs Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Sveltejs Academy bevat in totaal 4 lessen.
Waarom snelheidsbeperking
Bescherm API's tegen misbruik: brute-force-aanvallen, het geautomatiseerd verzamelen van gegevens en onbedoelde overbelasting.
Implementeren in handle
Houd verzoeken per IP bij in het geheugen of in Redis en wijs ze af zodra de limiet is overschreden.
const counts = new Map();
export async function handle({ event, resolve }) {
const ip = event.getClientAddress();
const n = (counts.get(ip) || 0) + 1;
counts.set(ip, n);
if (n > 100) return new Response("Too many", { status: 429 });
return resolve(event);
}Schuivend venster
Gebruik een algoritme met een schuivend venster voor eerlijke snelheidsbeperking.
Op Redis gebaseerd
Bewaar voor implementaties met meerdere instanties de aantallen in Redis of een vergelijkbare gedeelde opslag.
Limieten per route
Pas verschillende limieten toe op verschillende routes (bijvoorbeeld strenger op /login).
429-status
Retourneer HTTP 429 met een Retry-After-header, zodat clients weten wanneer ze het opnieuw kunnen proberen.
Aanwijzingen in headers
Stel X-RateLimit-*-headers in om clients over hun quotum te informeren.
Limieten per gebruiker
Gebruik voor geauthenticeerde gebruikers hun gebruikers-ID als sleutel voor de limiet, zodat die eerlijk wordt toegepast.
Bibliotheken
Gebruik bestaande bibliotheken (sveltekit-rate-limiter) in plaats van zelf iets te bouwen.
Logboekregistratie
Leg afgewezen verzoeken vast om aanvallen te detecteren en limieten af te stemmen.
CDN-laag
Gebruik Cloudflare of iets vergelijkbaars om aan de edge basislimieten toe te passen voordat verzoeken je app bereiken.
Korte controle
Welke statuscode retourneer je als de snelheidslimiet is overschreden?
Samenvatting
Implementeer snelheidsbeperking in de handle-hook. Gebruik Redis voor opstellingen met meerdere instanties en retourneer 429 met Retry-After.
Leer HTML met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 41
- Lessen
- 163
Veelgestelde vragen
Is de les “Rate limiting met hooks” gratis?
Ja — de volledige tekst van “Rate limiting met hooks” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Sveltejs Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Sveltejs Academy bevat in totaal 4 lessen.
Wat leer ik in “Rate limiting met hooks”?
Implementeer rate limiting voor requests in de handle()-hook om API-routes te beschermen. Je oefent met Sveltejs Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Sveltejs Academy te beginnen?
Ervaring vooraf is niet nodig. Sveltejs Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.
Hoe lang duurt de les “Rate limiting met hooks”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Sveltejs Academy?
Ja. Elke les over Sveltejs Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- CSRF-bescherming in formactions
- XSS-preventie in {#html}
- Omgevingsvariabelen: $env/static en $env/dynamic
- Rate limiting met hooks