• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/check ajax referer

提供: WordPress Codex 日本語版
移動先: 案内検索


ブログの外部からのリクエストを間違って処理しないように AJAX リクエストを検証します。

使い方

<?php check_ajax_referer( $action, $query_arg, $die ) ?>

パラメータ

$action
文字列) (オプションnonce のアクション名
初期値: -1
$query_arg
文字列) (オプション$_REQUEST 配列のどれを nonce とするか(2.5 以降)
初期値: false – 無指定
$die
真偽値) (オプション) nonce が無効な場合に終了 (die) するかどうか
初期値: true – 終了する

戻り値

(真偽値) 
パラメータ $diefalse の場合、チェックが成功すると真偽値 true を、失敗すると false を返します。

用例

メインファイル内で、次のように nonce をセットします:

<?php
//Set Your Nonce
$ajax_nonce = wp_create_nonce( "my-special-string" );
?>

<script type="text/javascript">
jQuery(document).ready(function($){
	var data = {
		action: 'my_action',
		security: '<?php echo $ajax_nonce; ?>',
		my_string: 'Hello World!'
	};
	$.post(ajaxurl, data, function(response) {
		alert("Response: " + response);
	});
});
</script>


ajax ファイル内で、次のようにリファラーをチェックします:

add_action( 'wp_ajax_my_action', 'my_action_function' );
function my_action_function() {
	check_ajax_referer( 'my-special-string', 'security' );
	echo sanitize_text_field( $_POST['my_string'] );
	die;
}

参考

  • この関数は プラグイン で置き換えることができます。プラグインが再定義しなければ、このページの内容が使われます。
  • $query_arg を省略すると(デフォルトは false)、この関数は nonce が '_ajax_nonce' にあるか見に行きます。もしセットされていなければ、本当に存在するかどうかに関係なく nonce が '_wpnonce' にあると仮定します。
  • $dietrue の場合、nonce が検証できなければスクリプトの実行は停止され、出力は '-1' になります。

変更履歴

ソースファイル

check_ajax_referer()wp-includes/pluggable.php にあります。

WordPress Nonce

Nonce関数: wp_explain_nonce() /en, wp_nonce_ays() /en, wp_nonce_field(), wp_nonce_url(), wp_verify_nonce(), wp_create_nonce() /en, check_admin_referer() /en, check_ajax_referer() /en, wp_referer_field() /en


外部リソース


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/check_ajax_referer最新版との差分