# check_ajax_referer()

URL: https://chugunov.pro/api-wordpress/functions/check_ajax_referer/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.0.3.

## Сигнатура

```php
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`

```php
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.

## Связанные

Использует: [`wp_doing_ajax`](https://chugunov.pro/api-wordpress/functions/wp_doing_ajax/), [`wp_verify_nonce`](https://chugunov.pro/api-wordpress/functions/wp_verify_nonce/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`_doing_it_wrong`](https://chugunov.pro/api-wordpress/functions/_doing_it_wrong/), [`wp_die`](https://chugunov.pro/api-wordpress/functions/wp_die/), [`do_action`](https://chugunov.pro/api-wordpress/functions/do_action/).
Используется в: `WP_Plugin_Dependencies::check_plugin_dependencies_during_ajax`, [`wp_ajax_activate_plugin`](https://chugunov.pro/api-wordpress/functions/wp_ajax_activate_plugin/), [`wp_ajax_send_password_reset`](https://chugunov.pro/api-wordpress/functions/wp_ajax_send_password_reset/), [`wp_ajax_toggle_auto_updates`](https://chugunov.pro/api-wordpress/functions/wp_ajax_toggle_auto_updates/), [`wp_ajax_media_create_image_subsizes`](https://chugunov.pro/api-wordpress/functions/wp_ajax_media_create_image_subsizes/), [`wp_ajax_health_check_get_sizes`](https://chugunov.pro/api-wordpress/functions/wp_ajax_health_check_get_sizes/), [`wp_ajax_health_check_dotorg_communication`](https://chugunov.pro/api-wordpress/functions/wp_ajax_health_check_dotorg_communication/), [`wp_ajax_health_check_background_updates`](https://chugunov.pro/api-wordpress/functions/wp_ajax_health_check_background_updates/), [`wp_ajax_health_check_loopback_requests`](https://chugunov.pro/api-wordpress/functions/wp_ajax_health_check_loopback_requests/), [`wp_ajax_health_check_site_status_result`](https://chugunov.pro/api-wordpress/functions/wp_ajax_health_check_site_status_result/), [`wp_ajax_wp_privacy_export_personal_data`](https://chugunov.pro/api-wordpress/functions/wp_ajax_wp_privacy_export_personal_data/), [`wp_ajax_wp_privacy_erase_personal_data`](https://chugunov.pro/api-wordpress/functions/wp_ajax_wp_privacy_erase_personal_data/), `WP_Customize_Manager::handle_load_themes_request`, `WP_Customize_Manager::handle_override_changeset_lock_request`, `WP_Customize_Manager::handle_dismiss_autosave_or_lock_request`, `WP_Customize_Manager::handle_changeset_trash_request`, [`wp_ajax_get_community_events`](https://chugunov.pro/api-wordpress/functions/wp_ajax_get_community_events/), `WP_Customize_Nav_Menus::ajax_insert_auto_draft_post`, [`wp_ajax_search_install_plugins`](https://chugunov.pro/api-wordpress/functions/wp_ajax_search_install_plugins/), [`wp_ajax_delete_plugin`](https://chugunov.pro/api-wordpress/functions/wp_ajax_delete_plugin/), [`wp_ajax_search_plugins`](https://chugunov.pro/api-wordpress/functions/wp_ajax_search_plugins/), [`wp_ajax_install_theme`](https://chugunov.pro/api-wordpress/functions/wp_ajax_install_theme/), [`wp_ajax_update_theme`](https://chugunov.pro/api-wordpress/functions/wp_ajax_update_theme/), [`wp_ajax_delete_theme`](https://chugunov.pro/api-wordpress/functions/wp_ajax_delete_theme/), [`wp_ajax_install_plugin`](https://chugunov.pro/api-wordpress/functions/wp_ajax_install_plugin/), [`wp_ajax_get_post_thumbnail_html`](https://chugunov.pro/api-wordpress/functions/wp_ajax_get_post_thumbnail_html/), [`wp_ajax_save_wporg_username`](https://chugunov.pro/api-wordpress/functions/wp_ajax_save_wporg_username/), [`wp_ajax_delete_inactive_widgets`](https://chugunov.pro/api-wordpress/functions/wp_ajax_delete_inactive_widgets/), `WP_Customize_Nav_Menus::ajax_load_available_items`, `WP_Customize_Nav_Menus::ajax_search_available_items`, [`wp_ajax_crop_image`](https://chugunov.pro/api-wordpress/functions/wp_ajax_crop_image/), [`wp_ajax_update_plugin`](https://chugunov.pro/api-wordpress/functions/wp_ajax_update_plugin/), `Custom_Background::ajax_background_add`, [`wp_ajax_set_attachment_thumbnail`](https://chugunov.pro/api-wordpress/functions/wp_ajax_set_attachment_thumbnail/), [`wp_ajax_save_attachment_order`](https://chugunov.pro/api-wordpress/functions/wp_ajax_save_attachment_order/), [`wp_ajax_send_attachment_to_editor`](https://chugunov.pro/api-wordpress/functions/wp_ajax_send_attachment_to_editor/), [`wp_ajax_send_link_to_editor`](https://chugunov.pro/api-wordpress/functions/wp_ajax_send_link_to_editor/), [`wp_ajax_save_user_color_scheme`](https://chugunov.pro/api-wordpress/functions/wp_ajax_save_user_color_scheme/), [`wp_ajax_save_widget`](https://chugunov.pro/api-wordpress/functions/wp_ajax_save_widget/), [`wp_ajax_upload_attachment`](https://chugunov.pro/api-wordpress/functions/wp_ajax_upload_attachment/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/check_ajax_referer/
