Вариантов несколько
- Передавать вместе с данными токен и проверять его на сервере, который периодически обновляется, как уже советовали выше
- Шифровать данные и передавать, на сервере расшифровывать
- Установить не стандартный useragent
Проблема во всех этих способах одна - достаточно легко посмотреть какие данные и каким способом передает клиент и в другой программе повторить это.