функция
since 2.0.3
check_ajax_referer()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
check_ajax_referer( int|string $action = -1, false|string $query_arg = false, bool $stop = true ): int|false
Описание
Проверяет Ajax-запрос, чтобы предотвратить обработку запросов извне блога.
Параметры
$action
int|string
необязательный
= -1
Одноразовый код действия.
$query_arg
false|string
необязательный
= false
Ключ для проверки одноразового кода в $_REQUEST (с версии 2.5). Если false, то для '_ajax_nonce' и '_wpnonce' будут проверены значения $_REQUEST (в этом порядке).
$stop
bool
необязательный
= true
Останавливать ли выполнение сразу, если одноразовый код не удаётся проверить.
Возвращаемое значение
int|false
Исходный код
wp-includes/pluggable.php:1417
function check_ajax_referer( $action = -1, $query_arg = false, $stop = true ) {
if ( -1 === $action ) {
_doing_it_wrong( __FUNCTION__, __( 'You should specify an action to be verified by using the first parameter.' ), '4.7.0' );
}
$nonce = '';
if ( $query_arg && isset( $_REQUEST[ $query_arg ] ) ) {
$nonce = $_REQUEST[ $query_arg ];
} elseif ( isset( $_REQUEST['_ajax_nonce'] ) ) {
$nonce = $_REQUEST['_ajax_nonce'];
} elseif ( isset( $_REQUEST['_wpnonce'] ) ) {
$nonce = $_REQUEST['_wpnonce'];
}
$result = wp_verify_nonce( $nonce, $action );
/**
* Fires once the Ajax request has been validated or not.
*
* @since 2.1.0
*
* @param string $action The Ajax nonce action.
* @param false|int $result False if the nonce is invalid, 1 if the nonce is valid and generated between
* 0-12 hours ago, 2 if the nonce is valid and generated between 12-24 hours ago.
*/
do_action( 'check_ajax_referer', $action, $result );
if ( $stop && false === $result ) {
if ( wp_doing_ajax() ) {
wp_die( -1, 403 );
} else {
die( '-1' );
}
}
return $result;
}
История изменений
| Версия | Описание |
|---|---|
| 2.0.3 | Introduced. |

