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

Форум MySQL

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

 

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

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

тема: Защита от SQL-инъекций
 
 автор: Alexneo   (14.08.2005 в 16:44)   письмо автору
 
 

Здравствуйте у меня вопрос по поводу MySQL.
Вот просто мучает меня паранойа взлома через SQL-инъекции
Скажите какие действия необходимо произвести для безопасных операции данными в MySQL
Например пришла к нам переменная host переданная методом POST из некой формы.
Я сразу бросаюсь проверять ее:
1.trim
2.htmlspecialchars
3.addslashes


Вот и не знаю - достаточно ли таких действий?!

При выборке из базы данных применяю функцию stripslashes.

Заранее спасибо!

   
 
 автор: RV   (14.08.2005 в 17:12)   письмо автору
 
   для: Alexneo   (14.08.2005 в 16:44)
 

stripslashes надо применять не всегда а только тогда, когда magic quotes включены. или выключены. вроде так. надо вобщем читать онлайн док по stripslashes на пхп.нет. там в коментах все написано

   
 
 автор: Boss   (14.08.2005 в 17:16)   письмо автору
 
   для: Alexneo   (14.08.2005 в 16:44)
 

>Вот и не знаю - достаточно ли таких действий?!
Нет, взломать всегда смогут... это лишь вопрос времени.

   
 
 автор: Alexneo   (14.08.2005 в 17:30)   письмо автору
 
   для: Boss   (14.08.2005 в 17:16)
 

Но все же можно ведь как то!

   
 
 автор: Alexneo   (14.08.2005 в 17:32)   письмо автору
 
   для: Alexneo   (14.08.2005 в 17:30)
 

Причем если данные помещены с помощью addslashes. то извлекать надо с stripslashes

   
 
 автор: Евгений Петров   (14.08.2005 в 17:35)   письмо автору
 
   для: Boss   (14.08.2005 в 17:16)
 

Помоему достаточно сделать так:
<?
$data 
$_POST['data'];
if(!
get_magic_quotes_gpc())
  
$data mysql_escape_string($data);
?>

А после извлечения из БД нужно пропустить через htmlCpecialChars. На мой взгляд этого будет достаточно, чтобы предотвратить SQL - инъекцию.

   
 
 автор: Alexneo   (15.08.2005 в 18:13)   письмо автору
 
   для: Евгений Петров   (14.08.2005 в 17:35)
 

хм...а если в базу будут переданы данные....вот такого вида:
Alexneo'UNION

   
 
 автор: cheops   (15.08.2005 в 20:29)   письмо автору
 
   для: Alexneo   (15.08.2005 в 18:13)
 

Эта строка будет преобразована в
Alexneo\'UNION

   
Rambler's Top100
вверх

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