CodeBlanks Logo Icon CodeBlanks

Rate limiting

express-rate-limit ile rate limiting öğrenirsin.

Rate limiting nedir?

Hız sınırlama (rate limiting), bir istemcinin belirli süre içinde yapabileceği istek sayısını sınırlar. Bu, kötü niyetli istemcilerin sunucuyu aşırı yüklemesini (DDoS) engeller.

Express'te express-rate-limit modülü yaygın bir seçimdir. rateLimit({ windowMs: 60000, max: 100 }) her istemciye dakikada en fazla 100 istek izni verir. Sınır aşılınca 429 Too Many Requests yanıtı döner. API'lerde temel bir korumadır.

rateLimit ayarları

express-rate-limit modülünü kullanmak için önce const rateLimit = require("express-rate-limit") ile içe aktarır, sonra bir limiter oluşturursun. const limiter = rateLimit({ windowMs: 60000, max: 100 }).

Sonra app.use(limiter) ile tüm rotalara uygularsın. Özelleştirme: message ile hata mesajı, standardHeaders ile yanıt başlıklarında limit bilgisini gösterebilirsin. İstekleri IP'ye göre sayar; proxy arkasında trust proxy ayarı gerekir.

Uygulama limiter türünü yaz

express-rate-limit modülünü içe aktar. Bir limiter oluştur (windowMs: 1000, max: 5). typeof limiter sonucunu yaz.

Başlangıç kodu

index.js
// modülü içe aktar

// limiter oluştur

// türünü yaz

Örnek çözüm

index.js
const rateLimit = require("express-rate-limit");
const limiter = rateLimit({ windowMs: 1000, max: 5 });
console.log(typeof limiter);

Beklenen çıktı

function

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Parçayı rolüne eşle

Kavram Anlamı
express-rate-limit Hız sınırlayıcı
windowMs Pencere süresi
max Maksimum istek
429 Çok fazla istek

2 Maksimum değeri tamamla

Soru
const limiter = rateLimit({ max: ____ })
Cevap
const limiter = rateLimit({ max: 5 })

Açıklama: max: 5 her pencerede 5 istek izni verir.

3 Rate limiting ne engeller?

  • Aşırı istekleri Doğru cevap
  • Bellek sızıntısını
  • CSS hatalarını
  • Yavaş yanıtları

Açıklama: Rate limiting aşırı istekleri engeller.

İleri seviye bölümündeki tüm dersler