@Sneiksus

Как защитить базу данных от взлома по строке подключения?

Какие есть способы для защиты БД от взлома по строке подключения.Ведь пользователь может взять строку подключения, подставить в свой код и получить доступ.Или просто достать из строки подключения логин и пароль.
  • Вопрос задан
  • 1332 просмотра
Пригласить эксперта
Ответы на вопрос 5
@Ascar
Бд изолируют как правило и работают через слой АПИ. Никакие строки подключения у клиента нигде быть не должны.

Запрос из вашего приложения или браузера -> MVC контроллер -> обращение к базе из вашего кода.

Строка подключения при этом будет лежать в web.config или appsettings.json на сервере.
Ответ написан
Комментировать
@rPman
Такова селяви, вы можете попробовать запрятать логин и пароль в обфусицированном коде но это защитит только от пользователей но не от хакера/знающего человека, правда сделает эту задачу дорогой.

На практике, обычно так и делают, если у вас десктопное приложение и пользователи подключаются с его помощь к базе данных, можно запрашивать у них логин и пароль (т.е. строка подключения это только ip и порт БД), т.е. за авторизацию и аутентификацию будет отвечать БД.

p.s. парольная авторизация это пережиток прошлого ;) красивый пример - вы можете сделать авторизацию по qr-коду, генерируемым приложением на мобильном телефоне (а там таймкод по типу google authenticator) и снимать его через вебкамеру (подойдут даже самые дешевые, помню покупал одну за 70р, с подсветкой даже), коды авторизации выдавать пользователям при личной встрече.
Ответ написан
Комментировать
Revencu
@Revencu
Использовать DSN подключение
Ответ написан
Комментировать
@John_Nash
coder
Integrated security надо использовать, ну и триггеры на изменения. Будете знать, кто поменял, если что
Ответ написан
Комментировать
petermzg
@petermzg
Самый лучший программист
Зашивать логин и пароль в приложение, это очень плохой подход.
Для работы с БД необходимо создавать пользователей БД и раздавать им права доступа к данным. Тогда пользователь каждый раз будет вводить свой логин/пароль и вся ответственность за сохранность будет на его плечах.
Права доступа должны тоже обдумано раздававаться, у обычного пользователя должны быть права максимум на DML. А DDL и DCL должны быть под полным запретом.
В особых случаях, когда есть очень важные данные, к таблицам на чтение тоже закрывают доступ и даются права только на вызов определенных Хранимых Процедур, через которые фильтруется отображение данных в соответствии с уровнем доступа.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы