Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Ответ
 
Опции темы
Старый 21.09.2018, 13:04   #1
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 352
Репутация: -23
По умолчанию Защита от 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, 13:09   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,006
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

А где она?

Используйте 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
Alex11223 на форуме   Ответить с цитированием
Старый 21.09.2018, 13:14   #3
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 352
Репутация: -23
По умолчанию

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

Последний раз редактировалось spoon100500; 21.09.2018 в 13:16.
spoon100500 вне форума   Ответить с цитированием
Старый 21.09.2018, 13:18   #4
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,006
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

http://php.net/manual/en/mysqli.quic...statements.php
Alex11223 на форуме   Ответить с цитированием
Старый 21.09.2018, 13:20   #5
spoon100500
Форумчанин
 
Аватар для spoon100500
 
Регистрация: 14.10.2016
Сообщений: 352
Репутация: -23
По умолчанию

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

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать вывод данных с условием из 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


01:29.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru