Короче говоря:
Вы должны использовать сторону сервера вместо прямого доступа со стороны клиента JS
к вашей базе данных
InГлубина:
Во-первых, давайте договоримся, что ваша БД для вас полезна, и вы хотите сохранить ее как можно более защищенной .
Во-вторых, давайте также договоримсяэтот код на стороне клиента (особенно JS
) уязвим и может быть идеальным местом для потенциальных атакующих.
После того, как все это настроено, давайте 'определим, как мы создаем соединение с базой данных:
- Определите имя пользователя и пароль для доступа к БД (обычно БД предварительно определяют пользователя
admin
во время установки) - Создание
connection string
в вашем коде для подключения БД с помощьюупомянутые выше учетные данные (например, имя пользователя и пароль) - Выполнение операций (в основном запросов) с БД
Таким образом, если вы выставите connection string
в JS на стороне клиента, это приведет к (в конце концов) кому-то, имеющему права доступа к вашей БД.
В «хорошем сценарии» (что довольно плохо) у пользователя не будет прав администратора, поэтому потенциальный ущерб будет ограничен (чтение конфиденциальной информации, удаление записей или просто созданиеподдельные записи, чтобы испортить ваши данные).
В «сценарии плохого случая» злоумышленник сможет получить доступ к вашей БД с правами администратора, изменить пароль пользователя (таким образом блокируя вас) и забрать всю БД для себяили «просто» прослушать вашу БД и получить обновленные данные (например, пиявку)
И именно поэтому мы используем серверный код для работы с соединениями и операциями БД