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

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

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

提供: WordPress Codex 日本語版
< 関数リファレンス
2015年5月31日 (日) 00:38時点におけるMiccweb (トーク | 投稿記録)による版 (新規追加)

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

説明

nonce用フォームパラメータを検証します。

Tests either if the current request carries a valid nonce, or if the current request was referred from an administration screen; depending on whether the $action argument is given (which is prefered), or not, respectively. On failure, the function dies after calling the wp_nonce_ays() function.

Used to avoid security exploits.

The now improper name of the function is kept for backward compatibility and has origin in previous WordPress versions where the function only checked the referer. For details, see the Notes section below.

使い方

廃止された使い方

<?php check_admin_referer(); ?>

好ましい使い方

<?php check_admin_referer( $action, $query_arg ); ?>

パラメータ

$action
string) (optional) アクション名。行われているものにコンテキストを与える必要があります。 (2.0.1以降。)
初期値: -1
$query_arg
string) (optional) Where to look for nonce in the $_REQUEST PHP variable. (2.5以降。)
初期値: '_wpnonce'

戻り値

To return boolean true, in the case of the obsolete usage, the current request must be referred from an administration screen; in the case of the prefered usage, the nonce must be sent and valid. Otherwise the function dies with an appropriate message ("Are you sure you want to do this?" by default).

用例

Obsolete usage here (script dies if the admin referer is not validated).

<?php check_admin_referer(); ?>

Here is an example of how you might use this in a plugin's option page. You add a nonce to a form using the wp_nonce_field() function:

<form method="post">
   <!-- some inputs here ... -->
   <?php wp_nonce_field( 'name_of_my_action','name_of_nonce_field' ); ?>
</form>

Then in the page where the form submits to, you can verify whether or not the form was submitted and update values if it was successfully submitted:

<?php
// if this fails, check_admin_referer() will automatically print a "failed" page and die.
if ( ! empty( $_POST ) && check_admin_referer( 'name_of_my_action', 'name_of_nonce_field' ) ) {
   // process form data, e.g. update fields
}

// Display the form

  • Using the function without the $action argument is obsolete and, as of Version 3.2, if WP_DEBUG is set to true will die with an appropriate message ("You should specify a nonce action to be verified by using the first parameter." is the default).
  • As of 2.0.1, the referer is checked only if the $action argument is not specified (or set to the default -1) as a backward compatibility fallback for not using a nonce. A nonce is prefered to unreliable referers and with $action specified the function behaves the same way as wp_verify_nonce() except that it dies after calling wp_nonce_ays() if the nonce is not valid or was not sent.

更新履歴

新規導入: 1.2.0

ソースファイル

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

関連

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


Nonceフック: nonce_life, nonce_user_logged_out, explain_nonce_(verb)-(noun), check_admin_referer

リソース


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


このページ「関数リファレンス/check admin referer」は未翻訳です。和訳や日本語情報を加筆してくださる協力者を求めています


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