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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2010, 13:07   #1
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию Магические кавычки (magic quotes)

На хостинге включены магические кавычки. Насколько я понимаю, они экранируют спецсимволы. Это может быть полезно для защиты от SQL инъекций. Собственно вопрос: что будет более эффективно – экранирование символов с помощью этой функции или же отключить её и искать другой способ защиты от инъекций (например, экранировать самостоятельно, с помощью других функций)? Спасибо.
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 11.02.2010, 13:43   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Обрабатывать весь POST и GET в зависимости от того включены ли magic quotes.
PHP код:
if (!ini_get('magic_quotes_gpc') ){ 
      foreach (
$_POST as $key => $input_arr)  $_POST[$key] = addslashes($input_arr);

Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 11.02.2010, 14:07   #3
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

А сами magic quotes с точки зрения защиты от инъекций эффективны?
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 12.02.2010, 13:51   #4
Adepts
Новичок
Джуниор
 
Аватар для Adepts
 
Регистрация: 12.02.2010
Сообщений: 1
По умолчанию

Я отключаю по умолчанию экранирование в php.ini, так как экранирование всего и вся по умолчанию не есть хорошо. Все что надо я экранирую через addslashes
Adepts вне форума Ответить с цитированием
Старый 12.02.2010, 13:53   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от Adepts Посмотреть сообщение
Я отключаю по умолчанию экранирование в php.ini, так как экранирование всего и вся по умолчанию не есть хорошо. Все что надо я экранирую через addslashes
почему не есть хорошо?
SkyM@n вне форума Ответить с цитированием
Старый 12.02.2010, 14:21   #6
tranceman
Пользователь
 
Аватар для tranceman
 
Регистрация: 18.08.2009
Сообщений: 53
По умолчанию

Adepts, при addslashes всеравно возможно провести sql inj если MySQL будет использовать мультибайтовую кодировку. Правда хоть UTF-8 относится к мультибайтовым но в нем не получится провести инж.
tranceman вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Heroes of Might and Magic 5 Alar Gamedev - cоздание игр: Unity, OpenGL, DirectX 40 01.10.2009 11:30
Кавычки в PHP Linel PHP 4 01.05.2009 16:35
кавычки Артэс Общие вопросы C/C++ 1 15.02.2009 04:04
Кавычки JRcoker Свободное общение 3 08.10.2008 13:19
кавычки у PHP Lilith PHP 1 27.06.2008 23:38