Магические кавычки
magic_quotes (или, в переводе на русский, “магические кавычки”) – процесс, который автоматически экранирует кавычки всех данных php скрипта.
Действие magic_quotes аналогично действию функции addslashes(). Когда данный процесс активизирован, он экранирует все одинарные, двойные кавычки, знаки NULL и левые слэши левыми слэшами.
magic_quotes умеет работать в трёх режимах:
- magic_quotes_runtime – функции, возвращающие данные из внешних источников, экранируют возвращаемые данные кавычками. Отключена по умолчанию.
- magic_quotes_gpc – экранирует данные, получаемые из массивов get, post и cookie. Невозможно отключить при работе скрипта, включена по умолчанию.
- magic_quotes_sybase – вместо экранирования кавычек слэшами, экранирует одинарные кавычки двойными кавычками. Отключена по умолчанию, при включении отключает magic_quotes_gpc.
Использование magic_quotes удобно и полезно для начинающих программистов – не надо экранировать данные кавычками вручную. Но использование magic_quotes влечёт за собой некоторые минусы, среди которых снижение производительности и увеличение нагрузки на сервер.
Если использование magic_quotes не требуется, то можно отключить их двумя различными способами:
Конфигурирование файла .htaccess. Для отключения работы magic_quotes в какой-то конкретной директории или на хостинг-аккаунте необходимо внести в файл .htaccess следующую строчку:
php_flag magic_quotes_gpc off
Конфигурирование php.ini. Для отключения magic_quotes на всём сервере можно изменить конфигурационный файл php.ini, отредактировав в нём настройки magic_quotes_gpc, magic_quotes_runtime, magic_quotes_sybase
magic_quotes позволяет избавится от некоторой кодовой волокиты, но уменьшает безопасность мобильности (переносимости) написанных приложений и уменьшает производительность. Выбор за Вами.





Добавить комментарий
Вы должны войти