Является ли хорошей практикой наличие разных пользователей для разных типов запросов? - PullRequest
3 голосов
/ 29 сентября 2008

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

Ответы [ 2 ]

6 голосов
/ 29 сентября 2008

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

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

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

1 голос
/ 29 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...