wp_magic_quotes() WP 3.0.0

Змінює глобальні змінні $_GET , $_POST , $_REQUEST , $_COOKIE , $_SERVER – додає їх значення чарівні лапки.

Примусово оновлює змінну $_REQUEST роблячи з неї об’єднаний масив $_GET + $_POST .

Функція видаляє екрановані слеші, якщо сервер встановлює і потім додає їх знову за допомогою функції add_magic_quotes() .

Коли спрацьовує

Ця функція спрацьовує при кожному запиті WordPress. Тому в середовищі WordPress усі дані вказаних у глобальних змінних завжди екрановані!

Функція спрацьовує відразу після події init .

Що таке чарівні лапки?

Чарівні лапки (Magic Quotes) – це процес автоматичного екранування вхідних даних PHP-скрипту. Мета такого екранування – спростити розробку для новачків.

Автоматичне екранування застаріло за версією PHP 5.3. та було видалено з версії PHP 5.4. Однак у середовищі WordPress таке екранування працює досі. Це зроблено з метою дотримання єдиного стандарту для вхідних даних.

Чарівні лапки екранують зворотним слешем такі символи: ' " і NULL. Також поводиться функція addslashes() або її аналог WordPress wp_slash() .

Це внутрішня функція WP

Ця функція не має прикладів використання. Тому що її не потрібно використовувати деінде, вона автоматично викликається відразу після події plugins_loaded .

Цю особливість WordPress потрібно знати, щоб розуміти як виглядатимуть вхідні дані при розробці тем і плагінів.

1 раз – 0.000084 сек
(дуже швидко) | 50000 разів – 1.83 сек
(швидко) |
PHP 7.0.8, WP 4.6.1

Хуків немає.

Повертає

null. Нічого

Використання

wp_magic_quotes();

Приклади

0

#1 Видалимо зворотні слеші там де вони не потрібні

При отриманні JSON рядка її потрібно очистити, щоб надалі розпарсувати і використовувати в коді.

$json = strval( $_POST['urls'] );

// Unfortunately, WP applies magic quotes to POST data.
if ( function_exists('wp_magic_quotes') && did_action('plugins_loaded') ) {

	$ json = stripslashes ($ json);
}

список змін

З версії 3.0.0Введено.

Код wp_magic_quotes() WP 6.0.2

function wp_magic_quotes() {
	// 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 );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *