Django-ratelimit on Django-sovellus, joka tarjoaa sisustaja rate-limit-katselua. & Nbsp; rajoittaminen voi perustua IP-osoite tai kentän pyynnöstä - joko GET tai POST vaihteleva.
Jos nopeus raja exceded, joko 403 Forbidden voidaan lähettää, tai pyyntö voidaan selvennettävä rajoitettu ominaisuuden, jonka avulla voit ottaa toisen toimiin kuten lisäämällä captcha lomakkeeseen.
käyttäminen Django Ratelimit
alkaen ratelimit.decorators tuonti ratelimit on suurin asia mitä sinun tarvitsee tehdä. ratelimit Sisustusarkkitehti tarjoaa useita valinnaisia argumentteja järkevä oletusarvot (kursiivilla).
ip: Olipa rate-limit perustuvat IP. Totta
lohko: Olipa estää pyynnön sijaan kommentointiin. Väärä
menetelmä: Kumpi HTTP (t) ja arvostele-rajaa. Voi olla merkkijono tai lista. kaikki
field: Mitkä HTTP kenttä (t) käyttää korko-rajaa. Voi olla merkkijono tai lista. ei mitään
rate: pyyntöjen määrä aikayksikössä sallittu. 5 / m
Esimerkkejä:
ratelimit ()
def MyView (tarvittaessa):
& Nbsp; # Tulee totta, jos sama IP tekee yli 5 pyynnöt / min.
& Nbsp; was_limited = getattr (pyynnöstä, "rajoitettu", False)
& Nbsp; palauttaa HttpResponse ()
ratelimit (lohko = True)
def MyView (tarvittaessa):
& Nbsp; # Jos sama IP tekee> 5 pyynnöt / min, palaa HttpResponseForbidden
& Nbsp; palauttaa HttpResponse ()
ratelimit (kenttä = 'käyttäjätunnus')
def kirjautuminen (tarvittaessa):
& Nbsp; # Jos samaa käyttäjätunnusta tai IP käytetään> 5 kertaa / min, tämä on totta.
& Nbsp; # `username` arvo tulevat GET tai POST, määräytyy
& Nbsp; # pyynnön menetelmällä.
& Nbsp; was_limited = getattr (pyynnöstä, "rajoitettu", False)
& Nbsp; palauttaa HttpResponse ()
ratelimit (method = "POST)
def kirjautuminen (tarvittaessa):
& Nbsp; # Vain soveltaa nopeutta rajoittava virkaa.
& Nbsp; palauttaa HttpResponseRedirect ()
ratelimit (kenttä = ['käyttäjätunnus', 'other_field'])
def kirjautuminen (tarvittaessa):
& Nbsp; # Käytä useita kentän arvot.
& Nbsp; palauttaa HttpResponse ()
ratelimit (rate = "4 / h ')
def hidas (tarvittaessa):
& Nbsp; # Allow 4 pyynnöt / tunti.
& Nbsp; palauttaa HttpResponse ()
vaatimukset
- Python
- Django
Kommentteja ei löytynyt