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]   

> Без описания
Toxa
Отправлено: 03 Июня, 2010 - 22:07:07
Post Id



Посетитель


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


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

[+]


Всем привет! Как вы считаете, достаточно ли использовать magic_quotes_gpc() для предотвращения sql иньекций?

Можно добавить данные функции в каждый файл и не знать бед. Так ли это? Или может лучше addslashes() заменить на mysql_real_escape_string ?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function addslashes_for_array(&$arr)
  3. {
  4.    foreach($arr as $k=>$v)
  5.    {
  6.        if (is_array($v))
  7.        {
  8.            addslashes_for_array($v);
  9.            $arr[$k] = $v;
  10.        }
  11.        else
  12.        {
  13.            $arr[$k] = addslashes($v);
  14.        }
  15.    }
  16. }
  17.  
  18. function fix_magic_quotes_gpc()
  19. {
  20.    if (!get_magic_quotes_gpc())
  21.    {
  22.        addslashes_for_array($_POST);
  23.        addslashes_for_array($_GET);
  24.        addslashes_for_array($_COOKIE);
  25.    }
  26. }
  27. ?>
  28.  


-----
Удобный сервис для хранения файлов
 
 Top
alexspb
Отправлено: 04 Июня, 2010 - 09:10:57
Post Id


Посетитель


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


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




mysql_real_escape_string позволяет прежде всего с кодировками разными работать
а тотальная экранизация данных - лишняя нагрузка - не все они для запросов используются, к тому же иногда просто надо проверять - число ли и т.п.


-----
Хостинг - неограниченно доменов на одну папку
Ajax - отличное введение
 
 Top
JustUserR
Отправлено: 04 Июня, 2010 - 12:31:07
Post Id



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


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


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




alexspb пишет:
Mysql_real_escape_string позволяет прежде всего с кодировками разными работать
С этим вы конечно правы однако использование данной функции сразу при загрузке PHP-скрипта малополезно - ведь функция mysql_real_escape_string работает для определенного SQL-соединения переданого ей во втором параметре и производит экранирование именно в соответствии с ним Просто в PHP если имеется только один ресурс SQL-соединения то он автоматически подставляется во все SQL-функции и его можно опускать при вызове - поэтому если нужна функция именно для экранирования входящих GPC-данных то нужно выяснить их кодировку и привести к текущей кодировки PHP-скрипта - после чего уже вызыывать функцию addslashes


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB