Android — подключение к веб-серверу и аутентификация

#php #android #c #security

#php #Android #c #Безопасность

Вопрос:

Мне нужно, чтобы мое приложение могло взаимодействовать с веб-сервером. Проблема в том, что я хочу, чтобы веб-сервер отвечал только на запросы, сделанные с реальных телефонов Android.

Итак, есть ли какой-либо способ убедиться, что сервер работает только с реальными телефонами? Он должен отклонять все остальное, чтобы предотвратить рассылку спама по базе данных с компьютеров или эмуляторов. Возможно ли это без подтверждения по sms?

И насколько хороша поддержка сокетов в Android? Если я захочу написать серверное программное обеспечение на C, сможет ли оно взаимодействовать с устройствами на базе Android? Или я должен использовать php или что-то в этом роде?

Возможно, OpenSSL, но все же я не уверен.

Заранее спасибо! PS: извините за мой английский

Ответ №1:

У веб-сервера нет реального способа отличить реальное мобильное устройство от устройства, которое выдает себя за таковое. Как правило, заголовок user-agent используется для определения типа клиентского устройства, значение которого может быть перезаписано любым клиентом.

Комментарии:

1. Это действительно так, и это печально. Я думаю, что мне нужно написать свой собственный протокол. Все может быть перезаписано. Существуют ли какие-либо другие методы? Аппаратная блокировка во время первой регистрации? IMEI? Или это возможно только путем отправки sms и ввода пользователем полученного кода при регистрации, чтобы доказать, что он на самом деле реальный человек?

2. Если вам нужна проверка, всегда полезно попросить пользователя ввести код, полученный на его телефоне. Иногда проверка, инициируемая пользователем, лучше технических решений. 🙂