2014-09-09 1 views
0

У меня есть база данных SQL в Интернете, которая имеет информацию Мне нужно мое приложение для Android, чтобы иметь доступ к этой информации Приложение должно знать имя пользователя и пароль базы данных Как это знать?Как я могу безопасно получить доступ к базе данных MYSQL в Интернете из приложения для Android

Если я закодировать его, любой человек может получить его

+0

Публично доступная БД? Это звучит как катастрофа в процессе создания. Вы должны создать надлежащий веб-сервис и позволить каждому пользователю иметь свое имя пользователя и пароль, имея доступ только к своим собственным данным. – thkala

+0

@thkla Мне нужна каждая копия приложения для доступа ко всем данным, но данные не должны быть видимыми пользователю –

+0

Это невозможно - если ваше приложение может получить доступ к данным, тогда любой достаточно определенный и знающий пользователь сможет сделать то же самое. – thkala

ответ

3

В общем, базы данных не должны быть доступны для общественности, и они не должны быть доступны непосредственно с помощью пользовательского приложения, несколько веских причин:

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

  • Клиенты DB привязаны к реальной схеме базы данных. Наличие клиентов под вашим контролем, например, Android-приложение - это очень хороший способ связать себя способами, которые запретили бы любую дальнейшую разработку.

  • Наличие порта DB, открытого для всего мира, ни в коем случае не считается безопасным. Любая потенциальная дыра безопасности обеспечит прямой доступ ко всем вашим данным. MySQL security guidelines явно предостерегает от открытия порта DB в Интернете.

  • Невозможно защитить учетные данные БД или данные от достаточно определенного и хорошо осведомленного пользователя. Если ваше приложение может получить доступ к чему-то, пусть они тоже.

  • Протоколы доступа к базам данных в основном разработаны с учетом местных сетей, а не из-за ненадежного характера Интернета. Даже шифрование и безопасность зачастую более второстепенным ...

Стандартный подход к решению этой проблемы заключается в создании промежуточного веб-службы с отдельными учетными записями пользователей и ограниченный набор операций над данными. Веб-служба позволит каждому пользователю получать доступ только к тем данным, которые относятся к ним, и даже косвенно. Этот подход отделяет данные от уровня пользовательского приложения, позволяет гибко хранить и получать доступ к вашим данным, но вы хотите, и обеспечивает дополнительный уровень безопасности для вашей БД.

+0

спасибо за ответ, очень подробно –

Смежные вопросы