Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2018, 12:04   #1
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию Защита от SQL иньекций, как использовать prepared statement, PDO

Здравствуйте, подскажите как правильно прописать защиту
PHP код:
include"include/db_connect.php";
$orderlist $_POST['orderlist'];//Заказ
$itog $_POST['itog'];//Итого
$itog str_replace('.'','$itog);
parse_str($_POST['userdata'], $userdata);//Клиент

$query_client "INSERT INTO `client` (`name_client`, `email_client`, `phone_client`, `other_client`) VALUES ('".$userdata['fio']."','".$userdata['mail']."','".$userdata['tel']."','".$userdata['text']."')";
mysqli_query($link$query_client);//записываем данные формы (клиента)

$number mysqli_insert_id($link);//получаем последний id из client
echo $number;//выводим номер заказа в модальное окно

$string = [];
foreach (
$orderlist as $prod) {
$value = [];
 foreach (
$prod as $item) {
 
$value[] = "'" $item "'";}
 
array_unshift($value$number);//добавляем номер заказа  в начало массива для дальнейшей передачи в таблицу
$string[] = '('.implode(', 'str_replace(',''.'$value)).')';}

$query "INSERT INTO `product` (`number`, `name`, `foto`, `raskroi`, `system`, `uprav`, `width`, `height`, `quantity`, `price`, `price_itog`) VALUES "implode(', '$string);
mysqli_query($link$query);// записываем данные заказа 
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 21.09.2018, 12:09   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

А где она?

Используйте prepared statement, это ж просто удобнее потому что не нужны implode, . ', ' . и т.п.

https://en.wikipedia.org/wiki/Prepar...tement#PHP_PDO

www.phptherightway.com/#databases / http://getjump.github.io/ru-php-the-...BD%D1%8B%D1%85
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.09.2018, 12:14   #3
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Вот я и спрашиваю как её сделать))
Можно без PDO, мне всё переписывать ну не вариант.
Еду медленно, но верно!

Последний раз редактировалось spoon100500; 21.09.2018 в 12:16.
spoon100500 вне форума Ответить с цитированием
Старый 21.09.2018, 12:18   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

http://php.net/manual/en/mysqli.quic...statements.php
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.09.2018, 12:20   #5
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

да читал я это, понять не могу, что куда подставлять.
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 21.09.2018, 14:17   #7
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,758
По умолчанию

плохо что на форуме нет более детальной темы, тогда можно было бы написать более детально и ссылку на тему на форуме. всё время об этом думаю когда вижу что ссылок на форум не хватает внутри форума )
Alar вне форума Ответить с цитированием
Старый 21.09.2018, 15:11   #8
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Мало, мало ссылок, кто больше?
Я не по русски пишу чтоли. Куда эти преперы вставлять?
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Старый 21.09.2018, 15:19   #9
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от spoon100500 Посмотреть сообщение
Мало, мало ссылок, кто больше?
Я не по русски пишу чтоли. Куда эти преперы вставлять?
Проблемы с чтением – или с пониманием прочитанного?
Andkorol вне форума Ответить с цитированием
Старый 21.09.2018, 15:29   #10
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 406
По умолчанию

Даже боюсь писать, а то опять ссылками закидаете))
Еду медленно, но верно!
spoon100500 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать вывод данных с условием из MS SQL Server 2005 через PDO? Abdukhafiz PHP 1 22.11.2013 19:22
no sql statement available andrei4991 БД в Delphi 10 31.05.2013 14:41
empty sql statement Dozent БД в Delphi 2 19.02.2013 10:25
No SQL statement available MixanMM БД в Delphi 2 07.06.2011 07:53
SQL:Statement too long Ks2010 БД в Delphi 44 21.07.2010 18:16