Ваш лучший вариант - идентифицировать пользователя, а не приложение.Если вы можете определить пользователя, который зарегистрировал приложение через обычный вход в систему, файлы cookie, сеанс и т. Д., Вам не нужно беспокоиться о клиенте в большинстве случаев.
Если это не сработает для вас, безопасность через неизвестность - лучшее решение.Типичное решение - включить в приложение какой-то ключ, который отправляется на сервер и может использоваться для создания хэш-подписей (например, HMAC-SHA1) для каждого запроса.Недостатком этого является то, что ключи могут легко распространяться после взлома.
Более сложная стратегия - это сделать что-то неясное и запретить доступ без уведомления, если шаблон не соответствует.Например, всегда отправляйте скрытый запрос B n секунд после отправки запроса A, где n - младшая версия вашего клиента.Используйте свое воображение.