WordPress как на ладони
Дешевый WordPress пакет для разработки Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

wp_referer_field() WP 2.0.4

Создает скрытое поле формы input со значением URL текущей страницы, чтобы затем проверить это значение через HTTP_REFERER.

Значением поля input будет значение переменной $_SERVER['REQUEST_URI''].
Имя поля: name="_wp_http_referer"

<input type="hidden" name="_wp_http_referer" value="/referer-page" />

Хуков нет.

Возвращает

HTML тег <input>.

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

wp_referer_field( $echo );
$echo(логический)
Вывести на экран или возвратить в переменную для дальнейшей обработки? По умолчанию, выводит на экран.
По умолчанию: true

Примеры

#1. Добавим скрытое поле _wp_http_referer и проверим его

Добавим в нашу форму скрытое поле _wp_http_referer и затем проверим это поле, чтобы убедится, что запрос пришел именно с нужной нам страницы. Страница с формой пусть имеет УРЛ: /send-data.

Код нашей формы:

<form action="/proverka" method="post">
	... другие поля формы ...
	<?php wp_referer_field() ?>
	... кнопка отправки формы ...
</form>

// wp_referer_field выведет:
// <input type="hidden" name="_wp_http_referer" value="/send-data" />

Теперь, после того как мы отправим данные они уйдут на страницу /proverka, где мы сможет проверить поле _wp_http_referer так:

if( $_POST['HTTP_REFERER'] == '/send-data' ){
	// Проверка пройдена, делаем что-то с данными
}
else {
	// Проверка не пройдена!
}

Код wp_referer_field: wp-includes/functions.php VER 4.9.8

<?php
function wp_referer_field( $echo = true ) {
	$referer_field = '<input type="hidden" name="_wp_http_referer" value="'. esc_attr( wp_unslash( $_SERVER['REQUEST_URI'] ) ) . '" />';

	if ( $echo )
		echo $referer_field;
	return $referer_field;
}

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

Из метки: form (функции формы)

Еще из метки: nonce (защита)

Еще из раздела: Защита

Danya 50
Программист фрилансер. Кодингом на PHP занимаю с 2008 года.
Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться