.
django-ratelimit Django görünümleri limit oranı bir dekoratör sağlayan uygulama & nbsp; IP adresi veya isteği bir alana dayalı olabilir Sınırlama - Bir GET veya POST değişkeni ya.
Hız limiti exceded ise, ya Yasak 403 gönderilebilir veya istek bir forma bir captcha ekleme gibi başka eylemde izin kısıtlı özniteliği ile açıklamalı edilebilir.
Kullanma Django Ratelimit
ratelimit.decorators ithalat ratelimit yapmanız gereken en büyük şey olduğunu. ratelimit dekoratör (italik) mantıklı varsayılan birkaç isteğe bağlı argümanları sağlar.
ip: IP tabanlı limiti Oranı olsun. Gerçek
bloğu: yerine annotating isteği engellemek için olsun. Yanlış
yöntemi: HTTP yöntem (ler) oranı limiti için. Bir dize veya bir liste olabilir. tüm
Alan: HTTP alan (lar) hız sınırı için kullanılacak. Bir dize veya bir liste olabilir. hiçbiri
hızı: izin birim zamanda istek sayısıdır. 5 / m
Örnekler:
ratelimit ()
def myview (istek):
& Nbsp; aynı IP fazla 5 isteklerini / dakika yaparsa # doğru olacaktır.
& Nbsp; was_limited = getattr (istek, 'sınırlı', False)
& Nbsp) (HttpResponse dönüş
ratelimit (blok = true)
def myview (istek):
& Nbsp; # aynı IP> 5 istekler / dk yaparsa, dönecektir HttpResponseForbidden
& Nbsp) (HttpResponse dönüş
ratelimit (alan = 'username')
def login (istek):
& Nbsp; # aynı kullanıcı adı OR IP kullanıldığında> 5 kez / dk, bu gerçek olacaksa.
& Nbsp; # `username` değeri GET veya POST gelecek, tarafından belirlenen
& Nbsp; # istek yöntemi.
& Nbsp; was_limited = getattr (istek, 'sınırlı', False)
& Nbsp) (HttpResponse dönüş
ratelimit (yöntem = 'POST')
def login (istek):
& Nbsp; # Sadece hız sınırlayıcı Mesajlar için de geçerlidir.
& Nbsp) (HttpResponseRedirect dönüş
ratelimit (alan = ['username', 'other_field'])
def login (istek):
& Nbsp; # Kullanımı birden alan değerleri.
& Nbsp) (HttpResponse dönüş
ratelimit (oran = '4 / saat')
def yavaş (istek):
& Nbsp; 4. istekler / saat bekleyin.
& Nbsp; iade HttpResponse ()
Gereksinimleri :
- Python
- Django
Yorum Bulunamadı