![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Здравствуйте, меня интересует вопрос безопасности БД mysql, правильно ли я понимаю, что создавая пользователя в phpmyadmin, и выключая возможность удаления таблиц, то случайно проникшая sql-инъекция (типа drop table uesers) не сможет ничего сделать?
|
|||
|
||||
| programming |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 20.6.2008 Репутация: 1 Всего: 1 |
Если в скрипте используется для подключения именно этот юзер.
--------------------
<удалено администрацией> |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
а зачем вообще пользователям на сайте давать доступ на удаления таблиц?
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
это ты у нас спрашиваешь?
я вообще не знаю зачем давать им право вообще каких либо операций с таблицами, за исключением контролируемых вводов данных |
|||
|
||||
| overmet |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 15.8.2009 Где: Gomel Репутация: -2 Всего: -2 |
Внедрение SQL-кода один из распространённых способов взлома сайтов,
а это уже удаление таблиц, хана сайту без бэкапа Это сообщение отредактировал(а) overmet - 8.8.2010, 20:58 |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
Подскажите тогда как обезопасить бд от удаления, если у пользователя есть право удалять строки из таблицы?
|
|||
|
||||
| NLspieler |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
Все данные, полученные от пользователя, которые нужно будет вставить в запрос, необходимо пропустить через функцию mysql_real_escape_string
Пропускать нужно после подключения к базе данных, иначе скрипт сообщит об ошибке. Кроме того, если пользователь передаёт некое целое число, то его можно принудительно превратить в число
|
||||||
|
|||||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
я думаю, имеет место путанница обычной работы пользователей сайта с БД и непосредственно с наделением прав пользователей mysql
|
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
bars80080, да, меня конкретно интересуют привилегии пользователей БД. Ну например когда пользователь находится на главной странице сайта и просматривает новости, то он просмотрев например 10 новостей, хочет просмотреть еще 20 и т.д, он нажимает на ссылку которая показывает еще 10 новостей. Естественно это сделано с использованием запроса SELECT...... Поскольку в начале скрипта указывается подключение к бд, где указывается имя пользователя, то для этого пользователя можно запретить возможность удаления таблиц. В этом случае будет ли 100% безопасность против sql-инъекции типа DROP table `users` ?
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
вот-вот, я и говорю: путаете. традиционно пользователь к БД существует всего один - администратор сайта. при коннекте к БД, в не зависимости от того сколько пользователей читает сейчас форум, соединение устанавливается именно для пользователя-администратора. то есть грубо говоря, ты сейчас читаешь форум, в котором данные из БД были извлечены из-под учётной записи администратора сайта. при этом, никакой связи между пользователем БД и зарегестрированным аккаунтом на этом форуме - нет. мы все (80000 пользователей - аккаунтов) сидим под одним пользователем БД. а значит нет никаких различий в правах использования БД почему же мы (рядовые участники) не имеем возможности удалять или как-то иначе корректировать БД? да потому что мы не работаем с БД напрямую. мы все общаемся с ней через вэб-интерфейс, который называется "сайт". интерфейс написан на языке php. вот именно php и решает кому какие права предоставлять. когда ты авторизуешься, то из БД извлекаются данные твоего аккаунта, где записано в какие разделы ты можешь ходить, а в какие нет. в итоге, чтобы удалить строку из таблицы в БД нужно нажать на нарисованную кнопку на сайте. но php на основании твоего аккаунта принимает решение: показать тебе кнопку или нет, совершить ли действие по удалению или нет поэтому вопрос о пользователе БД лишён смысла. разработчик сайта пишет сам, какие запросы может выполнить пользователь на сайте. также вводит систему распределения прав доступа. и уж точно не даёт никому шнырять в phpmyadmin. остаётся только защитить формируемые запросы от sql-инъекции, что делается исключительно с помощью одной функции mysql_real_escape_string(). заметь, пользователь не пишет сам запрос, он всего лишь вводит данные в поля и нажимает кнопки, вот эти данные и необходимо пропускать через эту функцию. |
|||
|
||||
| bazzjr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 27.12.2007 Где: Россия, Пермь Репутация: 4 Всего: 6 |
bars80080, даже не озабоченно-мертвый поймет теперь как работает безопасность в MySql
+100! |
|||
|
||||
| GrafF812 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 205 Регистрация: 3.12.2009 Репутация: нет Всего: нет |
bars80080, да спасибо Вам за объяснение, Вы можете порекомендовать книги по безопасности Web-сайтов ?
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
нет. как-то не задавался их поиском
|
|||
|
||||
| overmet |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 15.8.2009 Где: Gomel Репутация: -2 Всего: -2 |
книга - "Безопасность Web-приложений - готовые решения - Секреты хакеров"
|
||||
|
|||||
| lexxmix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 13.9.2007 Репутация: нет Всего: 0 |
юзать маны надо mysql.com
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |