Rate Limiting
Rate limiting درخواستهای یک بازدیدکننده را در یک بازهی زمانی سقف میزند؛ اگر از آن رد شود، nsin او را block یا challenge میکند.
موارد استفاده:
- محافظت از login/sign-up در برابر credential stuffing.
- جلوگیری از scraping کاتالوگ.
- محافظت از یک endpoint پرهزینه (search، export، API).
- کمکردن فشار spike های ترافیکی.
ساختن یک rate limit rule
Section titled “ساختن یک rate limit rule”- Rules → Add Rule → Rate Limit.
- آدرس محافظتشده را تنظیم کنید — مثلاً
/login. - در صورت نیاز HTTP methods را انتخاب کنید — مثلاً فقط
POST. - requests-per-seconds، counting mode و breach action را تنظیم کنید.
- Save.
حالتهای شمارش
Section titled “حالتهای شمارش”| Counting | معنی |
|---|---|
| Per visitor | همهچیز از یک آدرس با هم شمرده میشود. |
| Per visitor, per address | هر path جداگانه شمرده میشود. |
per visitor کل فعالیت را محدود میکند؛ per address جلوی این را میگیرد که یک endpoint بودجهی endpoint دیگر را مصرف کند.
متدهای HTTP
Section titled “متدهای HTTP”اگر HTTP methods خالی بماند، همهٔ درخواستها شمرده میشوند. با انتخاب یک یا
چند متد (GET، HEAD، POST، PUT، PATCH، DELETE، OPTIONS) فقط همانها
شمرده میشوند — فرم ورود یک POST است، پس محدود کردن POST کاری به بازدید
صفحهها ندارد. درخواستی با متد دیگر از این قانون رد میشود و با قانون rate limit
بعدی شما سنجیده میشود.
کنشهای breach
Section titled “کنشهای breach”- Block — تا پایان window درخواستها را رد میکند. برای سوءاستفاده.
- Challenge — بازدیدکننده ثابت میکند انسان است، بعد ادامه میدهد. برای محدودیتهایی که یک فرد واقعی هم ممکن است به آنها برسد.
Burst: چند درخواست اضافی برای لحظهای تحمل میشود، پس صفحهای که چند درخواست با هم میفرستد آن را trip نمیکند.
محافظت از login:
/login، ۵ درخواست در ۶۰ ثانیه، per visitor، challenge در صورت breach.
افراد واقعی یک یا دو بار login میکنند؛ یک اسکریپت حدس رمز فوراً به دیوار میخورد.
انتخاب یک سقف
Section titled “انتخاب یک سقف”- اول بالاتر از استفادهی معمول شروع کنید، بعد از دیدن ترافیک واقعی تنگترش کنید.
- یک بازدید صفحه شامل درخواستهای زیادی است (تصویر، CSS، API) — روی endpoint محدود کنید.
- یک دفتر یا شبکهی موبایل یک آدرس مشترک دارند — سقفهای site-wide آنها را با هم میگیرند.
سوالهای رایج
Section titled “سوالهای رایج”این بازدیدکنندههای واقعی را مسدود میکند؟ با یک سقف معقول و محدود، نه. اگر مطمئن نیستید، از challenge استفاده کنید.
اتفاقی به سقف رسیدم؟ بعد از عبور window خودش پاک میشود.
Rate limiting یا WAF؟ هر دو. WAF حمله را متوقف میکند؛ rate limiting چند بار هر کسی میتواند بکوبد را کنترل میکند. برای ترافیکی که هرگز نمیخواهیدش، از block rule استفاده کنید.
بازدیدکنندههای مسدودشده صفحهی nsin را میبینند.
صفحهی 429 خود nsin است، قابل جایگزینی نیست — قوانین error page فقط 5xx را
پوشش میدهند. ببینید صفحات خطای سفارشی.