Pembatasan Laju dengan Hook
Implementasikan pembatasan laju permintaan dalam hook handle() untuk melindungi rute API.
Pembatasan Laju dengan Hook adalah pelajaran Sveltejs Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Sveltejs Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Sveltejs Academy mencakup 4 pelajaran total.
Mengapa Membatasi Laju
Lindungi API dari penyalahgunaan: percobaan login berulang, pengambilan data, dan beban berlebih yang tidak disengaja.
Menerapkan di handle
Lacak permintaan per IP di memori atau Redis, lalu tolak permintaan saat batas terlampaui.
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);
}Jendela Bergeser
Gunakan algoritme jendela bergeser untuk pembatasan laju yang adil.
Berbasis Redis
Untuk deployment dengan banyak instans, simpan counts di Redis atau penyimpanan bersama yang serupa.
Batas per Rute
Terapkan batas yang berbeda pada rute yang berbeda (misalnya, lebih ketat pada /login).
Status 429
Kembalikan HTTP 429 dengan header Retry-After agar klien mengetahui kapan dapat mencoba lagi.
Petunjuk pada Header
Tetapkan header X-RateLimit-* untuk memberi tahu klien tentang kuota mereka.
Batas per Pengguna
Untuk pengguna yang terautentikasi, gunakan ID pengguna sebagai kunci batas agar lebih adil.
Pustaka
Gunakan pustaka yang sudah tersedia (sveltekit-rate-limiter) daripada membuatnya sendiri.
Pencatatan
Catat permintaan yang dibatasi untuk mendeteksi serangan dan menyesuaikan batas.
Lapisan CDN
Gunakan Cloudflare atau layanan serupa untuk menerapkan batas laju dasar di edge sebelum permintaan mencapai aplikasi Anda.
Pemeriksaan Singkat
Kode status apa yang Anda kembalikan saat batas laju terlampaui?
Ringkasan
Terapkan pembatasan laju di hook handle. Gunakan Redis untuk penyiapan dengan banyak instans; kembalikan 429 dengan Retry-After.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pembatasan Laju dengan Hook” gratis?
Ya — teks lengkap “Pembatasan Laju dengan Hook” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Sveltejs Academy, upgrade ke CoddyKit PRO. Kursus Sveltejs Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pembatasan Laju dengan Hook”?
Implementasikan pembatasan laju permintaan dalam hook handle() untuk melindungi rute API. Kamu berlatih Sveltejs Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Sveltejs Academy?
Tidak diperlukan pengalaman sebelumnya. Sveltejs Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Pembatasan Laju dengan Hook” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Sveltejs Academy ini?
Ya. Setiap pelajaran Sveltejs Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Perlindungan CSRF dalam Tindakan Formulir
- Pencegahan XSS dalam {#html}
- Variabel Lingkungan: $env/static dan $env/dynamic
- Pembatasan Laju dengan Hook