Главная > Apache, Linux, PHP, Windows > Волшебные кавычки (Magic Quotes) и как с ними бороться.

Волшебные кавычки (Magic Quotes) и как с ними бороться.

Функционал Волшебных кавычек (Magic Quotes) - перехватывать данные, которые получает скрипт (массивы $_POST, $_GET и т.д.) и экранировать в них специальные символы. Разработаны для защиты от хакерских атак вроде SQL Injection, но на практике от них больше проблем, чем пользы. Посмотреть текущие настройки можно с помощью phpinfo(). (если Magic Quotes включена, в разделе Configure Command будет строка --enable-magic-quotes).

Отключение Волшебных кавычек (Magic Quotes)

в .htaccess:
php_flag magic_quotes_gpc Off
в php.ini:
magic_quotes_gpc Off
Отключает Magic quotes для входящих данных из массивов GET/POST/Cookie. php.net говорит:
Эта возможность считается устаревшей начиная с PHP 5.3.0 и будет удалена начиная с PHP 6.0.0. Рассчитывать на эту возможность крайне не рекомендуется.
Почему? Во-первых, 100% защиты она не обеспечивает. Т.е. вам все равно нужно самостоятельно проверять полученные данные (их тип, диапазон допустимых значений и т.п.). К тому же экранирование символов выполняется автоматически практически всеми библиотеками для работы с СУБД. Во-вторых, часто нужны не экранированные данные. Например: 1) Клиент (браузер) передавал строку в формате json. 2) PHP при включенной Magic Quotes экранировал спец. символы. 3) функция json_decode возвращала NULL. Некоторые хостеры не отключают эту функцию (по умолчанию во многих версиях php она включена). Так что вам придется сделать это самостоятельно.
1 звезда2 звезды3 звезды4 звезды5 звезд (Рейтинг отсутствует)

Loading...Loading...
  1. Пока что нет комментариев.
  1. Пока что нет уведомлений.

Current month [email protected] day *


+ 8 = тринадцать

Heads up! You are attempting to upload an invalid image. If saved, this image will not display with your comment.