Как можно ограничить доступ к моему веб-сайту только к моему приложению Android - PullRequest
0 голосов
/ 03 сентября 2011

У меня есть приложение для Android, которое загружает данные с моего веб-сервера PHP / MySQL.Сами данные не являются чувствительными, это географические данные ряда, если указаны POI, но для других это может быть полезно / злоупотребление.

В настоящее время мое приложение будет извлекать данные, выполняя некоторую последовательность действий:http://myserver.url.com/data.php?getinfo=a_zip_code

Все возвращенные данные будут возвращены в виде XML.Чего я не хочу, так это чтобы кто-то мог злоупотреблять системой, отправляя свои собственные запросы на данные.

Мой метод заключается в создании ключа на основе MD5 (имя пользователя + дата + соль)

Отправить запрос GET:

http://myserver.url.com/data.php?
getinfo=a_zip_code&username=$username&key=AABBCCDDEEFFAABBCCDDEEFF

Затем я могу повторить процесс на сервере и, если хеш совпадает, - я могу вернуть данные.

  • имя пользователя - используетсядля поиска пользователя в базе данных
  • date - для изменения ключа на ежедневной основе
  • salt - для остановки любого другого, генерирующего ключ.

Isхороший способ сделать то, что я хочу достичь, или есть что-то еще, что лучше подходит?

Ответы [ 3 ]

0 голосов
/ 03 сентября 2011

Я чувствую, что метод, который вы опубликовали, является адекватным. Однако, как и все вопросы безопасности, все это зависит от того, насколько вам нужна безопасность. Я столкнулся с подобной ситуацией, потому что мой веб-сервер возвращал данные JSON, которые мое приложение затем анализировало. Опять же, не что-то чувствительное, а просто то, что я бы никому не хотел использовать. Имейте в виду, что существует множество способов решения таких проблем, как наша. Вы также можете получить его, чтобы ваше приложение «входило» в систему на вашем веб-сайте, прежде чем вы сможете получить доступ к любым данным. Или вы могли бы установить какую-то систему токенов. Это зависит от вас, но, похоже, у вас есть надежная идея.

0 голосов
/ 03 сентября 2011

Прежде всего, убедитесь, что вы используете HTTPS. Во-вторых, не полагайтесь на то, что ваш ключ является полностью секретным. APK могут быть декомпилированы, а ключи (строки) могут быть легко обнаружены.

0 голосов
/ 03 сентября 2011

Я думаю, что в качестве ключа вы можете использовать только известную вам переменную - без md5. Разместите его в своем скрипте - и получите результат. Другой способ - опубликовать личный номер вашего устройства Android и определить его в своем скрипте Php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...