check_ajax_referer()

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция нужна для валидации одноразовых чисел (nonces) в AJAX-запросах.

check_ajax_referer( $action = -1, $query_arg = false, $die = true )

Параметры функции check_ajax_referer()

$action
(строка|целое) Ключ, описывающий действие, который использовался при создании проверяемого защитного нонс-ключа! (если использовался).
$query_arg
(строка) Начиная с версии WordPress 2.5 вы можете указать название ключа, в котором хотите проверять значение nonce, по умолчанию проверяются ключи _ajax_nonce и _wpnonce.
$die
(логическое) По умолчанию, если проверка nonce не удалась, то функция вызывает wp_die() и прекращает выполнение AJAX-запроса, но, указав этот параметр в значение true, функция будет возвращать 1, 2 или false, аналогично функции wp_verify_nonce().

Пример использования check_ajax_referer()

В целом у меня даже есть видеоурок с примером, можете посмотреть его.

// создаём одноразовое число
$ajax_nonce = wp_create_nonce( 'true_security' );
 
echo '<script>
jQuery( function( $ ){
	var data = {
		action: 'true_action',
		security: '' . $ajax_nonce . '', // передаём значение nonce в запрос
		true_str: 'Привет!'
	};
	$.post( ajaxurl, data, function( response ) {
		console.log( 'Ответ с сервера: ' + response );
	});
});
</script>';

И непосредственно в обработчике AJAX-запроса:

add_action( 'wp_ajax_true_action', 'true_ajax_cb' );
 
function true_ajax_cb() {
	check_ajax_referer( 'true_security', 'security' ); // проверка nonce-ключа
	echo $_POST[ 'true_str' ];
	die;
}
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии