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