Я бы посоветовал вам не создавать подстановочных знаков, которые могут подключаться к базе данных из любого места, используя встроенные учетные данные MySQL в вашем приложении. Плохая идея.
Было бы очень легко определить учетные данные, используемые вашим приложением, а затем злоумышленник мог напрямую подключиться к вашему серверу БД и начать выпуск запросов к вашей базе данных.
Они смогут выпустить SELECT
заявления для любой информации в ваших таблицах, даже информацию, которую они не должны видеть. Затем становится намного проще использовать любые известные или неизвестные уязвимости в MySQL намного проще, так как теперь они имеют консольный доступ и могут отправлять данные непосредственно на сервер. Если у учетной записи есть привилегия DELETE
, они могут стереть все данные в вашей таблице (таблицах).
Кроме того, наличие PHP-скрипта, который выдает запросы, предоставленные приложением/конечным пользователем, не является идеальным, поскольку все еще можно свободно выдавать запросы. Хотя этот вариант лучше, чем предоставление полного доступа к удаленному пользователю, это все еще плохая идея.
Путь к удалению будет заключаться в том, чтобы идентифицировать всю информацию, которая требуется для доступа к C# -приложению, а также как и написать простой веб-сервис/API, который будет получать параметры и выдавать свои собственные запросы и возвращать результаты с использованием XML , JSON или даже SOAP. Постарайтесь как можно больше абстрагировать доступ к базе данных из внешнего мира для обеспечения лучшей безопасности.
Надеюсь, что это поможет.
Внесение учетных данных в приложение - плохая идея. Почему бы не написать сервер или интерфейс с веб-сервером для каких-либо запросов? Самое главное, зачем вам приложение для подключения к базе данных? –
база данных должна быть доступна извне, что почти никогда не выполняется в значениях по умолчанию. –
Я согласен с @Elzo Valugi У меня была та же проблема, и я решил ее связаться со своим провайдером. – HichemSeeSharp