Считается хорошей практикой, чтобы оценить ограничение API, чтобы обеспечить лучший поток данных и повысить безопасность за счет смягчения атак, таких как DDOS. Ограничение ставок ограничит количество запросов, которые могут быть сделаны из уникального IP -адреса в течение определенного периода времени.
Импортировать библиотеку
from ratelimit import limits
Нанесите декоратор
@app.route('/endpoint/', methods=['GET']) @limits(calls=1, period=1) #max 1 call per second def respond(): #API code
Если предел превышен, будет поднято следующее исключение.
raise RateLimitException('too many calls', period_remaining)
И это все. Подобно тому, как разработчиков учат кодировать вокруг инъекций SQL, ограничение скорости является еще одной необходимой мерой, которая должна быть реализована с помощью любого API.
Оригинал: “https://dev.to/paymon123/the-easiest-way-to-rate-limit-a-python-api-3njc”