Лекции     Книги     Рефераты    
Диплом, курсовая на заказ

Магические кавычки

news date Окт.03.2008    categories Web-программирование > PHP    comments (0)

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 позволяет избавится от некоторой кодовой волокиты, но уменьшает безопасность мобильности (переносимости) написанных приложений и уменьшает производительность. Выбор за Вами.

Обсуждения

Нет комментариев к “Магические кавычки”

Добавить комментарий

Вы должны войти



© 2009 - 2010 | Webteach.ru | Образовательный портал