Сейчас я разработал приложение для Android, которое доступно на рынке. Приложение в основном использует HTTP GET
для запроса некоторых данных с моего личного сервера. Я немного обеспокоен пропускной способностью, так как мой сервер размещен и, следовательно, имеет ограниченный ежемесячный перевод.Ограниченное использование приложения для Android
Мне просто интересно, существует ли надежный способ ограничить количество запросов, сделанных каждым пользователем в день, скажем, до 20 запросов?
Для некоторого фона интерфейс приложения довольно прост. Два поля EditText для захвата параметров HTTP GET и Button
для отправки запроса. Это в конечном итоге возвращает некоторые значения из скрипта cgi, который заполняет TextView
в приложении.
Решения могут быть либо на конце приложения, либо на сервере. Идея, которую я имел, заключалась в том, чтобы как-то записать количество запросов, уже сделанных в файл, и прочитать статус оттуда.
Есть ли лучшие способы достижения того, что я хочу?
Спасибо за ответ. Не могли бы вы представить, как ограничение может быть применено на сервере? –
Хранить количество запросов для каждого пользователя (DeviceID) в таблице базы данных (и каждый день сбрасывать значения с помощью задания cron). Затем по каждому запросу проверьте DeviceID и отправьте ответ об ошибке, если количество запросов превысило количество разрешенных запросов. – fardjad
спасибо! я сделал что-то немного более примитивное - добавив уникальный идентификатор в txt-файл и используя задание cron для его ежедневного опорожнения. каждый раз, когда пользователь запрашивает, я буду grep txt-файл и сделаю wc -l, чтобы проверить, достигнут ли предел. –