Является ли хорошей практикой иметь разных пользователей для разных типов запросов?

Я использую MySQL и PHP для проекта, над которым работаю. Я создал отдельных пользователей для выполнения различных функций (один для выполнения запросов выбора, один для выполнения запросов на обновление и т. д.), Чтобы обеспечить дополнительный уровень безопасности. Таким образом, я полагаю, что если кому-то удастся провести атаку с помощью инъекции (что маловероятно, поскольку я использую подготовленные операторы), все, что они могут сделать, будет ограничено типом запроса, который изначально предназначался для выполнения. Это хорошая практика или не стоит беспокоиться?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
3
0
220
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Лично я не думаю, что стоит заморачиваться, так как его сложнее кодировать, тестировать и развертывать. Вместо этого убедитесь, что ваше программное обеспечение невосприимчиво к SQL-инъекциям.

Ответ принят как подходящий

Помимо расширенной логики, у вас также будут разные связи и существенные накладные расходы в этой области.

ИМХО, разумно не выполнять все ваши запросы в веб-приложении с пользователем root, и если данные такие горячей, убедитесь, что у назначенного пользователя нет привилегий DROP, DELETE и т. д. Вы можете реализовать мягкое удаление, если это необходимо в вашем приложении.

И последнее, но не менее важное: очистите весь GPC и убедитесь, что в ваших запросах правильно цитируются / экранируются файлы. Использование подготовленных операторов может быть одним делом, но в конечном итоге это может быть так же просто, как использование mysql_real_escape_string () или любых других методов цитирования, которые предлагает ваш DBAL / ORM.

Другие вопросы по теме