WordPress как на ладони
wordpress jino

wp_magic_quotes() WP 3.0.0

Изменяет глобальные переменные $_GET, $_POST, $_REQUEST, $_COOKIE, $_SERVER - добавляет в их значения волшебные кавычки.

Принудительно обновляет переменную $_REQUEST делая из нее объединенный массив из $_GET + $_POST.

Функция удаляет экранированные слэши если сервер их устанавливает и затем добавляет их снова с помощью функции add_magic_quotes().

Когда срабатывает

Эта функция срабатывает при каждом запросе в WordPress. Поэтому в среде WordPress все данные указанных в глобальных переменных всегда экранированы!

Функция срабатывает сразу после события plugins_loaded. Т.е. после того как файлы плагинов подключены и плагины запущены (инициализированы). Но до того, как был сделан основной запрос WordPress - wp(), до того как была подключена тема и её файл functions.php и до события init.

Что такое волшебные кавычки?

Волшебные кавычки (Magic Quotes) - это процесс автоматического экранирования входящих данных PHP-скрипта. Цель такого экранирования - упростить разработку для новичков.

Автоматическое экранирование устарело с версии PHP 5.3. и было удалено с версии PHP 5.4. Однако в среде WordPress такое экранировании работает до сих пор. Это сделано в целях соблюдения единого стандарта для входящих данных.

Волшебные кавычки экранируют обратным слэшем следующие символы: ' (одиночные кавычки), " (двойные кавычки), \ (обратный слеш) и NULL. Также ведет себя функция addslashes() или её аналог в WordPress wp_slash().

✈ 1 раз = 0.000084с = очень быстро | 50000 раз = 1.83с = быстро PHP 7.0.8, WP 4.6.1

Хуков нет.

Возвращает

Null. Ничего

Использование

wp_magic_quotes();

Примеры

У этой функции нет примеров использования. Потому что её не нужно использовать где-либо, она автоматически вызывается сразу после события plugins_loaded.

Эту особенность WordPress нужно знать, чтобы понимать как будут выглядеть входящие данные при разработке тем и плагинов.

Код wp magic quotes: wp-includes/load.php WP 4.8.2

<?php
function wp_magic_quotes() {
	// If already slashed, strip.
	if ( get_magic_quotes_gpc() ) {
		$_GET    = stripslashes_deep( $_GET    );
		$_POST   = stripslashes_deep( $_POST   );
		$_COOKIE = stripslashes_deep( $_COOKIE );
	}

	// Escape with wpdb.
	$_GET    = add_magic_quotes( $_GET    );
	$_POST   = add_magic_quotes( $_POST   );
	$_COOKIE = add_magic_quotes( $_COOKIE );
	$_SERVER = add_magic_quotes( $_SERVER );

	// Force REQUEST to be GET + POST.
	$_REQUEST = array_merge( $_GET, $_POST );
}

Cвязанные функции

Из раздела: Без рубрики

wp_magic_quotes Комментариев нет

Здравствуйте, !

Ваш комментарий