Каковы потенциальные последствия для безопасности при разрешении доступа любого IP-адреса к удаленной базе данных mysql?
В настоящее время я разрабатываю действительно базовое приложение для Android с использованием Java и Android Studio - этому приложению требуется удаленная база данных, поскольку учетные записи пользователей должны взаимодействовать с другой информацией учетной записи пользователя, в противном случае я бы использовал локальную базу данных на устройстве. У меня есть удаленная база данных mysql, прикрепленная к моему веб-сайту, которую я использую для этого приложения. Я использую PHP на веб-сервере с HttpURLConnector, чтобы указать ему правильный файл, который ему нужно использовать (например, example.com/login.php - чтобы он не сохранялся в самом приложении Android, поскольку я знаю, что приложения Android можно распаковать, чтобы открыть исходный код) для доступа к базе данных, и пока это работает, поскольку я разрешил IP-адресу эмулятора удаленно подключаться к нему.
Сейчас я начинаю задаваться вопросом, что если бы я собирался опубликовать это приложение, IP-адреса для подключения больше не были бы такими же, как у эмулятора, поскольку, очевидно, подключались бы разные пользовательские устройства, и я не могу знать все IP-адреса всех этих устройств. Все важные данные были зашифрованы с помощью BCrypt, поэтому ничего не хранится в виде обычного текста, пользователь, который подключается к базе данных, имеет ограниченные привилегии (только SELECT, UPDATE, INSERT), и весь пользовательский ввод очищается еще до того, как он попадет в базу данных.
Каковы будут последствия для безопасности, если разрешить любому IP-адресу подключаться к базе данных?
Если это особенно плохая практика, пожалуйста, укажите мне, где я могу узнать больше, так как я новичок в этом аспекте баз данных, а также в мобильных приложениях. Я видел, как люди предлагали мне создать веб-REST API (например, Spring Boot), который обрабатывает все запросы, но та же проблема с IP-адресами все еще возникает, и я начинаю сильно запутываться.