.
Django-ratelimit bir Django fikir limit dərəcəsi bir decorator təmin app & nbsp edir; IP ünvanı və ya sorğuda bir sahəsində əsaslana bilər məhdudlaşdırılması - bir almaq və ya POST dəyişən bilərsiniz.
Dərəcəsi limit exceded varsa, ya Forbidden 403 göndərilə bilər, və ya tələb bir forma bir captcha əlavə kimi bir hərəkət etmək üçün imkan verir, bir məhdud atributu ilə not ola bilər.
istifadə Django Ratelimit
ratelimit.decorators idxal ratelimit Siz nə etmək lazımdır ən böyük şeydir. ratelimit decorator (italik) həssas yetirilməməsi ilə bir neçə isteğe dəlilləri təmin edir.
ip: IP-based limit dərəcəsi olsun. Doğru
blok: əvəzinə annotating tələbi qarşısını almaq üçün olsun. Saxta
metodu: HTTP metodu (s) dərəcəsi-limit üçün. Bir simli və ya bir siyahısını ola bilər. bütün
sahəsində: HTTP sahədə (s) dərəcəsi limit istifadə etmək. Bir simli və ya bir siyahısını ola bilər. heç kim
faiz: icazə Vahid zaman hər sorğuların sayı. 5 / m
Nümunələr:
ratelimit ()
def MyView (tələb):
& Nbsp; eyni IP-dən çox 5 sorğu / dəqiqə edir, əgər # doğru olacaq.
& Nbsp; was_limited = getattr (tələb, 'məhdud', False)
& Nbsp;) (HttpResponse qayıda
ratelimit (blok = True)
def MyView (tələb):
& Nbsp; # eyni IP> 5 reqs / dəq edir, dönəcək HttpResponseForbidden
& Nbsp;) (HttpResponse qayıda
ratelimit (sahəsində = 'istifadəçi adı)
def giriş (tələb):
& Nbsp; # eyni istifadəçi adı və ya IP istifadə olunur> 5 dəfə / min, bu True olacaq.
& Nbsp; # `username` dəyəri almaq və ya POST gələcək tərəfindən müəyyən
& Nbsp; # tələbi üsulu.
& Nbsp; was_limited = getattr (tələb, 'məhdud', False)
& Nbsp;) (HttpResponse qayıda
ratelimit (üsul = 'POST)
def giriş (tələb):
& Nbsp; # Yalnız dərəcəsi məhdudlaşdıran ismarışları müraciət.
& Nbsp;) (HttpResponseRedirect qayıda
ratelimit (sahəsində = ['istifadəçi adı', 'other_field'])
def giriş (tələb):
& Nbsp; # istifadə çox sahəsində dəyərləri.
& Nbsp;) (HttpResponse qayıda
ratelimit (dərəcəsi = '4 / h)
def yavaş (tələb):
& Nbsp; # 4 reqs / saat imkan verir.
& Nbsp; qayıtmaq HttpResponse ()
tələblər
- Python
- Django
Şərhlər tapılmadı