Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SQL INJ. Нужна помощь
 
 автор: zsaz   (05.02.2012 в 07:10)   письмо автору
 
 

Наткнулся на одном форуме в разделе sql инъекций на свой сайт. Там приведены 2 примера
http://mashintop.ru/pdd_online.php?status=-7'
http://mashintop.ru/forum.php?status=see_forum&1'

На сколько это может быть опасно? Я так понимаю, что написанные выше примеры - это еще на факт наличия инъекции.

Почему я так думаю?! Да потому, что в первом примере в переменную статус передаются некоторые значения, например, http://mashintop.ru/pdd_online.php?status=pdd а вот выборки из БД там вообще никакой нет, все хранится в файле, поэтому в первом случае как мне кажется инъекция исключена, но хотел бы выслушать более опытных людей в этом вопросе

А вот во втором случае как быть? Вот пример рабочей ссылки http://mashintop.ru/forum.php?status=see_forum&section_id=1&category_id=33
По сути алгоритм у меня такой:
if($status=='see_forum')
{
$section_id = intval($_REQUEST['section_id'];
$category_id= intval($_REQUEST['category_id'];
$result = mysql_query("SELECT * FROM forum WHERE section_id='$section_id' AND category_id='$category_id'");
}
Ну вот примерный мой код.
Можно ли сюда встроить sql инъекцию??

  Ответить  
 
 автор: Ильдар   (05.02.2012 в 08:11)   письмо автору
 
   для: zsaz   (05.02.2012 в 07:10)
 

по-сути у вас все нормально.
для проверки текстовых полей делайте
<? mysql_real_escape_string ($item); ?>

он экранирует опасные символы

  Ответить  
 
 автор: cheops   (05.02.2012 в 11:34)   письмо автору
 
   для: zsaz   (05.02.2012 в 07:10)
 

Нет, SQL-инъкцию вставить нельзя, но и вывода
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL 
тоже быть не должно, чтобы в URL не вводили. Это считается - не профессиональным (а роботы считают, что у вас SQL-инъкция на сайте).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования