Есть вопрос?
Зайди на форум

Поиск на сайте: Advanced

Denix - новый дистрибутив Linux. Русификация Ubuntu и установка кодеков

dkws.org.ua
Форум сайта dkws.org.ua
 
Главная    ТемыТемы    АльбомАльбом    РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

По поводу sql-инъекции из книги

 
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP
 
Автор Сообщение
Павел

Участник тусовки


Зарегистрирован: 17.02.2006
Сообщения: 110
Откуда: Санкт-Петербург

СообщениеДобавлено: Пт Мар 27, 2009 4:57 pm    Заголовок сообщения: По поводу sql-инъекции из книги
Ответить с цитатой

...из книги PHP5/6 и MySQL6.
На стр.592 рассматривается способ защиты от инъекций. Так вот там способ какой-то предлагается "некрасивый" на мой взгляд. Не легче ли просто обработать переменные $login и $pass функцией mysql_escape_string() и не замарачиваться?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Пт Мар 27, 2009 5:32 pm    Заголовок сообщения:
Ответить с цитатой

Почему некрасивый? Во-первых, мы там удаляем все HTML-теги и кстати во время этого можем оставить те теги, которые нам необходимы. А потом экранируем опасные символы функцией HtmlSpecialChars. Функция mysql_escape_string() экранирует только кавычки. Она полезна, когда нужно добавить в БД текст, содержащий кавычки, но не более
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Павел

Участник тусовки


Зарегистрирован: 17.02.2006
Сообщения: 110
Откуда: Санкт-Петербург

СообщениеДобавлено: Пт Мар 27, 2009 6:48 pm    Заголовок сообщения:
Ответить с цитатой

Не знаю, о каких html-тегах идет речь, но ничего в приведенном в книге коде не удаляется.
Речь шла об инъекциях, которые можно предотвратить, просто обработав get-параметры функцией mysql_escape_string. Разве не так?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Пт Мар 27, 2009 9:05 pm    Заголовок сообщения:
Ответить с цитатой

А разве они не удаляются предложенным мною способом?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
den

Старожил


Зарегистрирован: 31.01.2006
Сообщения: 13870
Откуда: Кировоград, Украина

СообщениеДобавлено: Чт Апр 02, 2009 9:06 am    Заголовок сообщения:
Ответить с цитатой

Вот еще один способ предовтратить инъекцию, если переменная должна содержать только число, например, идентификатор объекта (статьи, файла и т.д.):

if (!is_numeric($id)) die('Попытка взлома, пошли нафиг!!!');
Вернуться к началу
Посмотреть профиль Отправить личное сообщение dhsilabs@jabber.ru
Показать сообщения:   
Начать новую тему Ответить на тему    Список форумов dkws.org.ua -> PHP Часовой пояс: GMT
Страница 1 из 1
 Главная страница сайта
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
© Колисниченко Денис