Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> безопасность БД mysql 
:(
    Опции темы
GrafF812
Дата 8.8.2010, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



Здравствуйте, меня интересует вопрос безопасности БД mysql, правильно ли я понимаю, что создавая пользователя в phpmyadmin, и выключая возможность удаления таблиц, то случайно проникшая sql-инъекция (типа drop table uesers) не сможет ничего сделать?
PM MAIL   Вверх
programming
Дата 8.8.2010, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 20.6.2008

Репутация: 1
Всего: 1



Если в скрипте используется для подключения именно этот юзер.
--------------------
<удалено администрацией>
PM MAIL   Вверх
GrafF812
Дата 8.8.2010, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



а зачем вообще пользователям на сайте давать доступ на удаления таблиц?
PM MAIL   Вверх
bars80080
Дата 8.8.2010, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



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


PM MAIL WWW   Вверх
overmet
Дата 8.8.2010, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 15.8.2009
Где: Gomel

Репутация: -2
Всего: -2



Внедрение SQL-кода один из распространённых способов взлома сайтов,
Код

DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...] [RESTRICT | CASCADE]

Этот оператор удаляет таблицу или таблицы из текущей базы данных.

tbl_name
    - Имя удаляемой таблицы. 

IF EXISTS


RESTRICT и CASCADE
    - Не несут никакой функциональности. Оставлены для упрощения переноса программы. 



а это уже удаление таблиц, хана сайту без бэкапа

Это сообщение отредактировал(а) overmet - 8.8.2010, 20:58
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
GrafF812
Дата 9.8.2010, 07:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



Подскажите тогда как обезопасить бд от удаления, если у пользователя есть право удалять строки из таблицы? 
PM MAIL   Вверх
NLspieler
Дата 9.8.2010, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Цитата(GrafF812 @  9.8.2010,  07:07 Найти цитируемый пост)
Подскажите тогда как обезопасить бд от удаления, если у пользователя есть право удалять строки из таблицы?  

Все данные, полученные от пользователя, которые нужно будет вставить в запрос,
необходимо пропустить через функцию mysql_real_escape_string
Код

$var = mysql_real_escape_string ($var) ;
$var1 = mysql_real_escape_string ($var1) ;

Пропускать нужно после подключения к базе данных, иначе скрипт сообщит об ошибке.

Кроме того, если пользователь передаёт некое целое число, то его можно принудительно превратить в число
Код

$id = (int) $id ;



PM MAIL   Вверх
bars80080
Дата 9.8.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



я думаю, имеет место путанница обычной работы пользователей сайта с БД и непосредственно с наделением прав пользователей mysql
PM MAIL WWW   Вверх
GrafF812
Дата 9.8.2010, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



bars80080, да, меня конкретно интересуют привилегии пользователей БД. Ну например когда пользователь находится на главной странице сайта и просматривает новости, то он просмотрев например 10 новостей, хочет просмотреть еще 20 и т.д, он нажимает на ссылку которая показывает еще 10 новостей. Естественно это сделано с использованием запроса SELECT...... Поскольку в начале скрипта указывается подключение к бд, где указывается имя пользователя, то для этого пользователя можно запретить возможность удаления таблиц. В этом случае будет ли 100% безопасность против sql-инъекции типа DROP table `users` ? 
PM MAIL   Вверх
bars80080
Дата 10.8.2010, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(GrafF812 @  9.8.2010,  17:32 Найти цитируемый пост)
да, меня конкретно интересуют привилегии пользователей БД. Ну например когда пользователь находится на главной странице сайта и просматривает новости, то он просмотрев например 10 новостей, хочет просмотреть еще 20 и т.д, он нажимает на ссылку которая показывает еще 10 новостей. Естественно это сделано с использованием запроса SELECT...... Поскольку в начале скрипта указывается подключение к бд, где указывается имя пользователя, то для этого пользователя можно запретить возможность удаления таблиц

вот-вот, я и говорю: путаете.

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

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


поэтому вопрос о пользователе БД лишён смысла.
разработчик сайта пишет сам, какие запросы может выполнить пользователь на сайте. также вводит систему распределения прав доступа. и уж точно не даёт никому шнырять в phpmyadmin.
остаётся только защитить формируемые запросы от sql-инъекции, что делается исключительно с помощью одной функции mysql_real_escape_string().
заметь, пользователь не пишет сам запрос, он всего лишь вводит данные в поля и нажимает кнопки, вот эти данные и необходимо пропускать через эту функцию.
PM MAIL WWW   Вверх
bazzjr
Дата 10.8.2010, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



bars80080, даже не озабоченно-мертвый поймет теперь как работает безопасность в MySql  smile  smile  smile 

+100!   smile 
PM MAIL ICQ   Вверх
GrafF812
Дата 10.8.2010, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



bars80080, да спасибо Вам за объяснение, Вы можете порекомендовать книги по безопасности Web-сайтов ?
PM MAIL   Вверх
bars80080
Дата 10.8.2010, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



нет. как-то не задавался их поиском
PM MAIL WWW   Вверх
overmet
Дата 16.8.2010, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 15.8.2009
Где: Gomel

Репутация: -2
Всего: -2



Цитата

да спасибо Вам за объяснение, Вы можете порекомендовать книги по безопасности Web-сайтов ? 

книга - "Безопасность Web-приложений - готовые решения - Секреты хакеров"

Цитата

В современном мире безопасность и защита web приложений является ключевым фактором общей безопасности бизнеса. Профессионалы в области защиты информации найдут в этой книге немало ценных сведений, которые позволят им успешно противостоять угрозам безопасности web приложения. В книге наглядно продемонстрировано, как можно защититься от любых методов взлома, понимая образ мышления хакеров и зная приемы, которыми они пользуются. Систематизировав самые серьезные угрозы безопасности Web приложений и раскрыв детали их реализации, авторы объясняют, как можно противостоять этим угрозам. Книга будет полезной специалистам в области защиты информации, разработчикам Web-узлов, администраторам сетей, специалистам по электронному бизнесу, программистам и менеджерам по информационным технологиям.

 smile 
PM MAIL WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
lexxmix
Дата 17.8.2010, 03:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 13.9.2007

Репутация: нет
Всего: 0



юзать маны надо mysql.com
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.