Волшебные кавычки (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 она включена). Так что вам придется сделать это самостоятельно.
Свежие комментарии