Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как сделать безопасные запросы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
shahin
Отправлено: 28 Июля, 2014 - 15:56:23
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




здравствуйте, есть код
$insert_sql = "INSERT INTO ".$pages_table." (`title`,`keywords`, `description`, `pages_inf`, `content`)" .
"VALUES('".$title."', '".$keywords."', '".$description."', '".$pages_inf."', '".$content."');";
как сделать его безопасным?
Про mysql_real_escape_string я знаю, но как его использовоть на столько переменных
И еще этот
$data_arr = array($title, $keywords, $description, $pages_inf, $content);
return $data_arr;

(Отредактировано автором: 28 Июля, 2014 - 16:11:27)

 
 Top
teddy
Отправлено: 28 Июля, 2014 - 16:02:14
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




shahin пишет:
как его использовоть на столько переменных

Очевидно, надо применить эту функцию к каждой переменной. Но... Вы сейчас меня прочитали и забыли то, что я сказалУлыбка

Расширение PHP, которое использует функции mysql_* устарело, используйте mysqli, либо pdo_mysql.

Если перейдете на одно из них, то рекомендую использовать подготовленные запросы. В таком случае отпадет необходимость экранировать данные перед выполнением запроса, за одно и отучитесь конкатенировать запросы с входящими данными.

http://php.net/manual/ru/book.mysqli.php
http://ir2.php.net/manual/ru/book.pdo.php
 
 Top
shahin
Отправлено: 28 Июля, 2014 - 16:16:09
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




a как вы отличили mysql от mysqli?
 
 Top
teddy
Отправлено: 28 Июля, 2014 - 16:39:42
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Очень просто, Вы же сами написали про mysql_real_escape_string
 
 Top
shahin
Отправлено: 28 Июля, 2014 - 19:35:34
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




aaa ясно! А про экранирования что скажете? "'".$ddd."'" на сколько это безопасно (mysqli)
 
 Top
Ts.Saltan
Отправлено: 29 Июля, 2014 - 16:09:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 384
Дата рег-ции: Дек. 2013  
Откуда: Belarus


Помог: 22 раз(а)




shahin пишет:
aaa ясно! А про экранирования что скажете? "'".$ddd."'" на сколько это безопасно (mysqli)

там используются подготовленные запросы http://docs.php.net/manual/ru/my...d-statements.php
 
 Top
shahin
Отправлено: 29 Июля, 2014 - 23:05:29
Post Id


Забанен


Покинул форум
Сообщений всего: 116
Дата рег-ции: Март 2014  


Помог: 0 раз(а)




Спасибо вам ребята!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB