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

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

関数リファレンス/wp verify nonce

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

この項目「関数リファレンス/wp verify nonce」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

nonce が正しいもので有効期限が切れていないことを、指定されたアクションとの関係も含めて確かめます。この関数は現在のリクエスト(通常は $_REQUEST PHP 変数でアクセス)に入れて送られた nonce を検証するのに使われます。

使い方

<?php wp_verify_nonce( $nonce, $action ); ?>

パラメータ

$nonce
文字列) (必須) 検証する nonce。
初期値: なし
$action
文字列/整数) (オプション) アクションの名前。実行中のコンテキストを指定するとともに、nonce 生成時と同じにしてください。
初期値: -1

戻り値

(真偽値/整数) 
nonce が無効なら真偽値 false を返します。それ以外なら次のような整数値を返します:
  • 1 – 過去 12 時間以内に生成された nonce。
  • 2 – 過去 12 時間を超えて 24 時間以内に生成された nonce。

用例

wp_create_nonce() で生成した nonce を検証:

<?php
// nonce を生成し、アクションを実行するリンクのクエリ変数に追加。
$nonce = wp_create_nonce( 'my-nonce' );
echo "<a href='myplugin.php?_wpnonce={$nonce}'>Save Something</a>";
?>

.....

<?php 
// リクエストを処理するファイルの中で nonce を検証する。
$nonce = $_REQUEST['_wpnonce'];
if ( ! wp_verify_nonce( $nonce, 'my-nonce' ) ) {
    die( 'Security check' ); 
} else {
    // ここで目的のアクションを実行。
}
?>

nonce の生存期間に応じて異なるアクションを実行させることもできます:

<?php
$nonce = wp_verify_nonce( $nonce, 'my-nonce' );
switch ( $nonce ) {
    case 1:
        echo 'Nonce is less than 12 hours old';
    break;

    case 2:
        echo 'Nonce is between 12 and 24 hours old';
    break;

    default:
        exit( 'Nonce is invalid' );
}
?>

変更履歴

2.0.3 : 新規導入

ソースファイル

wp_verify_nonce()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/wp_verify_nonce最新版との差分