Rate limit - ma’lum vaqt oynasi ichida bir resursga keladigan so‘rovlar sonini cheklaydi. Cheklov buzilganda tanlangan Action (Block/Challenge/Redirect/Drop/Allow/Log only) bajariladi.
Qanday ishlaydi (aniq formulalar)
Limit = N ta so‘rov
Davr = T soniya
Trigger: Agar bitta Scope bo‘yicha T soniya ichida so‘rovlar N dan oshsa → Action ishga tushadi
Bloklash davomiyligi = B soniya → Trigger bo‘lgach, shu Scope uchun B vaqt davomida Action qo‘llanadi
Qayta ochilish: B tugagach, hisoblagich yana noldan boshlanadi
Amaliy ko‘rinish: “5/5/5” — “har 5 soniyada5 ta so‘rovdan oshsa, 5 soniya blokla”.
Formadagi maydonlar (screenshot bilan mos)
1) HTTP metodlari
Qoidaga tegishli metod(lar)ni belgilang: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS.
Tavsiya: autentifikatsiya endpointlari uchun asosan POSTni cheklang.
2) Rate limit sozlamalari
Maydon
Nima uchun
Misol
Limit
Vaqt oynasi ichida ruxsat etilgan maksimal so‘rovlar
5
Davr (soniyalarda)
Vaqt oynasi uzunligi
5
Bloklash davomiyligi (soniya)
Limit buzilganda Action necha soniya amal qiladi
5
Scope
Hisoblash birligi (kim uchun cheklanadi)
Quyida qarang
3) Scope (hisoblash birligi)
Scope - “kimga nisbatan sanaymiz?”ni bildiradi. Platformada quyidagi variantlar qo‘llab-quvvatlanadi:
Scope
Ta’rif
Qachon ishlatish
IP
Har bir manba IP uchun alohida hisoblagich
Umumiy holatlar (default)
IP + Path
IP va yo‘l kombinatsiyasi bo‘yicha
Masalan, /login, /search kabi endpointlar
Path (global)
Barcha IP lar uchun, aynan shu yo‘lga umumiy limit
Juda “og‘ir” sahifalar
IP + Method
IP va HTTP metod kombinatsiyasi
POST /login limit
Session cookie
PHPSESSID/session_id bo‘yicha
Auth bo‘lgan foydalanuvchilar
Header qiymati
X-API-Key, User-Agent bo‘yicha
API token / bot guruhlar
Tavsiya: odatda IP yoki IP + Path yetarli. NAT/CGNAT sabab ko‘p foydalanuvchi bitta IP ortida bo‘lsa, Session cookie yoki Header (API-Key) ni tanlang.
4) Maqsad (Target)
Limiti qaysi resursga qo‘llashni ko‘rsating: masalan /**, /api/, /login, /about.
Regex/wildcard qo‘llash mumkin (sizning UI qoidangizga mos).
Misol (screenshot):Maqsad: /about - faqat /about uchun limit.
5) Harakat (Action)
Limit buzilganda bajariladigan amallar:
Block — odatda 429 (Too Many Requests) tavsiya etiladi (agar sizda 403 bo‘lsa, shu bilan chiqadi).