Back to blog
Security

Rate Limiting: Budi Ngambek, API Siti Ditembak 1 Juta Kali

Hanya karena patah hati, Budi bisa membuat server Siti meledak dengan modal script bot 10 baris. Bagaimana cara Siti menangkis serangan mantan?

super admin·19 Juli 2026·2 min read
Rate Limiting: Budi Ngambek, API Siti Ditembak 1 Juta Kali
Article Content

Bayangin Budi Lagi Patah Hati Sama Siti...

Bayangin Budi baru aja diputusin sama Siti. Siti punya website e-commerce kecil-kecilan untuk jualan kue. Karena dendam, Budi (yang kebetulan *programmer*) bikin sebuah Script Bot pakai Node.js.

Bot ini disuruh nge-klik tombol "Cek Harga Kue" di website Siti sebanyak 10.000 kali dalam waktu 1 detik! Server VPS Siti yang cuma punya RAM 1GB langsung panik, CPU-nya menyentuh 100%, database-nya timeout, dan akhirnya website Siti mati total (Error 502 Bad Gateway). Pembeli asli jadi gak bisa belanja!

Masalahnya: API Siti Terlalu 'Welcome'

Server Backend Siti sangat polos. Ia tidak membedakan mana manusia yang nge-klik pelan-pelan, dan mana mesin/bot yang nge-klik secara brutal. Selama ada request HTTP masuk, server Siti akan bekerja keras melayaninya. Kebaikan hati server inilah yang dimanfaatkan oleh Budi untuk melakukan serangan Denial of Service (DoS) / Spam.

Nah, Di Sinilah 'Rate Limiting' Masuk!

Siti yang sadar *website*-nya dibobol, langsung bangun dan memasang tameng di Backend Express.js miliknya. Tameng ini bernama Rate Limiter.

  • Siti menambahkan aturan Middleware: "Satu Alamat IP (Wi-Fi) maksimal HANYA BOLEH menembak API ini 50 kali dalam waktu 1 Menit!"
  • Saat Budi menjalankan Bot-nya lagi, 50 tembakan pertama berhasil diproses oleh server Siti.
  • Tapi di tembakan ke-51 (yang terjadi di milidetik selanjutnya), server Siti langsung memblokirnya di gerbang depan!
  • Server Siti TIDAK akan repot-repot memproses database. Ia langsung melempar Error sakti ke muka Budi: HTTP Status 429 (Too Many Requests) dengan pesan "Sabar bro, tunggu 1 menit lagi!"

Intinya: Jangan pernah merilis API Publik tanpa Rate Limiting. Tanpa rem darurat ini, satu pengunjung iseng bisa membakar habis kuota server dan tagihan AWS-mu dalam semalam!

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates