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]   

> Без описания
DeUM
Отправлено: 17 Октября, 2013 - 17:13:28
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Июль 2012  


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




Чем опасна данная конструкция ?:
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach($_POST as $k => $v) {
  3. $_POST[addslashes($k)] = addslashes($v);
  4. }
  5.  

Хотелось бы услышать не про функцию addslashes() а разбор таким "макаром" запросов.
Заранее спасибо.
 
 Top
esterio
Отправлено: 17 Октября, 2013 - 17:38:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




а зачем такое делать?
 
 Top
DelphinPRO
Отправлено: 17 Октября, 2013 - 17:43:51
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




DeUM пишет:
Чем опасна данная конструкция ?:

в языке нет "опасных" конструкций. Улыбка

Вы лучше объясните смысл сего кода, как вы его понимаете.

PS с моей точки зрения код абсолютно бессмсленный


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
DeUM
Отправлено: 17 Октября, 2013 - 17:51:41
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Июль 2012  


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




Почему?, как я понимаю код:
все пост запросы обрабатываются прежде чем записывать их в базу данных
PHP:
скопировать код в буфер обмена
  1.  
  2. ({что-то вроде этого:ЗАЩИТА ОТ ИНЪЕКЦИЙ}
  3. $_POST['insect'] = "User' AND 'Admin' ";
  4. @mysql_query("DELETE FROM `table_users` WHERE `login` = '".$_POST['insetc']."'");
  5. )
  6.  

а дабы не писать к каждому запросу addslashes(),
я через общий файл защищаю все запросы

(Отредактировано автором: 17 Октября, 2013 - 17:53:54)

 
 Top
DelphinPRO
Отправлено: 17 Октября, 2013 - 18:01:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




А если нам понадобятся "raw-данные" из ПОСТа? будем применять removeSlashes (или как она там называется..)

Запоминайте правило:
Фильтруем данные в том месте, где они используются. Используя нужный в данном месте метод.

Для записи в базу - обрабатываем функцией mysqli_real_escape_string
Для вывода на страницу - обрабатываем функцией htmlspecialchars

Нахрен нужна addslashes вообще не понимаю.. Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
DeUM
Отправлено: 17 Октября, 2013 - 18:07:21
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Июль 2012  


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




DelphinPRO, спасибо конечно но addslashes() я для примера, меня сам вариант обработки волновал,
Ну вообщем все узнал Спасибо! Радость
 
 Top
DelphinPRO
Отправлено: 17 Октября, 2013 - 18:14:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




ну собственно и суть моего поста не в addslashes Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 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