#python #rest #flask #jwt #flask-jwt
#python #rest #flask #jwt #flask-jwt
Вопрос:
У меня есть веб-приложение, связывающееся с серверной частью через пару конечных точек REST.
У меня также есть домашняя страница, где люди могут стать клиентами вышеупомянутого веб-приложения.
Для вызова всех конечных точек веб-приложения требуется аутентификация (авторизованный пользователь) (токены JWT), но на моей домашней странице у меня есть кнопка «Стать клиентом», которая делает POST /customers
запрос, который я должен оставить общедоступным (Но я не хочу, чтобы кто-либо мог спамить мою конечную точку новыми клиентами.
Каков стандартный способ решения этой проблемы?
Я использую Python, Flask и Flask-JWT в своем бэкэнде.
Комментарии:
1. CAPTCHA и ограничение скорости являются типичными средствами защиты от DOS-атак.
2. Вы не можете. Вы действительно думаете, что у основных сервисов (Facebook, Twitter, Instagram …) нет поддельных пользователей, которые были автоматически созданы путем рассылки спама с помощью кнопки регистрации? Вы могли бы добавить reCAPTCHA или что-то подобное, чтобы смягчить это, но есть вероятность, что вы не сможете полностью остановить это.
Ответ №1:
Единственным вариантом будет роль пользователя, которая добавляется на ограниченное время (30 минут). Если у пользователя есть эта роль, то у него есть разрешение на ее просмотр.
Имеет смысл?