Привет всем, я управляю сайтом хостинга изображений и разрабатываю API для него. Меня беспокоит то, что я не хочу, чтобы кто-то мог делать что-то вроде:
while(true) {
Upload();
}
и спам / DoS на сайте.
Мое текущее решение - ограничить все IP-адреса определенным количеством загрузок в день / час. Я считаю, что это будет хорошо работать для настольных приложений, которые будут использовать API, но для веб-сайтов, которые хотят его использовать, все пользователи будут иметь одинаковый IP-адрес (сервер).
Полагаю, лучшим решением было бы иметь учетные записи пользователей, которые проходят проверку подлинности с помощью API, а затем забанить каждую учетную запись, если они злоупотребляют ею. Проблема в том, что на моем сайте вообще нет учетных записей, все это полностью анонимно.
Что еще можно сделать? Я хотел бы, чтобы все было как можно более открытым, и в то же время иметь возможность запретить пользователям / IP-адресам, которые явно злоупотребляют сервисом.