当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「関数リファレンス/wp nonce field」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(例: 用例の追加)
(関連項目)
104行目: 104行目:
  
 
* [[Wordpress Nonce Implementation]]
 
* [[Wordpress Nonce Implementation]]
* [[関数リファレンス/wp_create_nonce|wp_create_nonce]]
+
* [[関数リファレンス/wp_create_nonce|wp_create_nonce]] / [[:en:Function_Reference/wp_create_nonce|en]]
* [[関数リファレンス/check_admin_referer|check_admin_referer]]
+
* [[関数リファレンス/check_admin_referer|check_admin_referer]] /[[:en:Function_Reference/check_admin_referer|en]]
 
* [[関数リファレンス/wp_verify_nonce|wp_verify_nonce]]
 
* [[関数リファレンス/wp_verify_nonce|wp_verify_nonce]]
  
 +
 +
{{Tag Footer}}
  
 
{{原文|Function_Reference/wp_nonce_field|91188}}<!--14:05, 11 July 2010‎ Ramiy 版 -->
 
{{原文|Function_Reference/wp_nonce_field|91188}}<!--14:05, 11 July 2010‎ Ramiy 版 -->

2015年5月26日 (火) 21:30時点における版

フォームにhiddenフィールドとして追加するためのnonceを取得または表示します。

nonceフィールドはフォームの内容が現在のサイトから来たものであり、他のサイトからではないということを認証するために使われます。nonceは完全な保護を提供するものではありませんが、ほとんどの場合は有効な保護になります。フォーム内でnonceフィールドを使うのは重要です。

$echoをfalseに、$refererをtrueにした場合はwp_referer_field()を使ってリファラーのフィールドを取得する必要があります。$refererをtrueにし、nonceフィールドを出力した場合は、リファラーフィールドも出力されます。

$action$nameはオプションですが、セキュリティを高めたい場合はこの二つのパラメータを設定することをお勧めいたします。パラメータなしで関数を呼び出すのが簡単ですが、nonceがなんのパラメータも必要としなくなってしまうので、デフォルト値が何かをしっているクラッカーにとってあなたのnonceを推測して被害を与えるのが簡単になってしまいます。

inputのname属性は$nameに設定したものになります。inputのvalue属性は作成されたnonceの値になります。

使用法

<?php wp_nonce_field( $action, $name, $referer, $echo ) ?>

パラメータ

$action
string) (optional) アクション名
初期値: -1
$name
string) (optionalNonce の名前
初期値: "_wpnonce"
$referer
boolean) (optional) 初期値はtrue。認証用のrefereフィールドを設定するか否か。
初期値: true
$echo
boolean) (optional) 初期値はtrue。hiddenフィールドをフォームに出力するか否か。falseの場合はPHPの値として返す。
初期値: true

戻り値

(string) 
Nonceフィールド

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

While less secure than the examples that follow, this is the simplest implementation which omits all arguments. In your form add the following:

   <?php wp_nonce_field(); ?>

It's better to name your action and nonce in your form. Enter values for the first and second arguments to print the necessary hidden field:

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

Then in the page where it is being submitted to, you may verify it using the wp_verify_nonce() function. Notice that you have to manually retrieve the nonce (from the $_POST array in this example), and the name of the action is the 2nd parameter instead of the first:

<?php

if ( 
    ! isset( $_POST['name_of_nonce_field'] ) 
    || ! wp_verify_nonce( $_POST['name_of_nonce_field'], 'name_of_my_action' ) 
) {

   print 'Sorry, your nonce did not verify.';
   exit;

} else {

   // process form data
}


If you are submitting and processing the form inside the WP administration area, you may verify the nonce using the check_admin_referer() function:

<?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
}


注意点

改訂履歴

ソースファイル

wp_nonce_field()wp-includes/functions.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



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


最新英語版: WordPress Codex » Function_Reference/wp_nonce_field最新版との差分