概要
wp_nonce_tick関数は、nonce用の時間依存値を取得するために使用されます。この関数は、主にセキュリティのためのnonceを生成、確認する際に利用され、特に以下のような機能を実装する場面で役立ちます。
- フォーム送信のセキュリティ
- Ajaxリクエストの認証
- 設定ページの保存時のセキュリティ
- 特定の操作に対するアクセス制限
- ユーザーの権限確認
- APIリクエストの安全性向上
- プラグインやテーマの設定変更時の確認
- 外部サイトからのリクエストの検証
構文
wp_nonce_tick( int $time )
パラメータ
$time(int) : 現在のタイムスタンプ。
戻り値
- (int) : 現在時刻に基づいたnonceの時間依存値。
関連する関数
使用可能なバージョン
- WordPress 2.0以降で使用可能。
コアファイルのパス
wp-includes/pluggable.php
この関数のアクションでの使用可能性
| アクション | 使用例 |
|---|---|
| mu_plugin_loaded | |
| registered_post_type | |
| plugins_loaded | |
| wp_roles_init | |
| setup_theme | |
| after_setup_theme | |
| set_current_user | |
| init | |
| register_sidebar | |
| wp_loaded | |
| send_headers | |
| parse_query | |
| pre_get_posts | |
| wp | |
| template_redirect | |
| get_header | |
| wp_head |
サンプルコード
サンプルコード1: 基本のnonce生成
$nonce = wp_create_nonce('my_action');
このコードは、特定のアクション「my_action」に基づいてnonceを生成します。このnonceは、フォームやURLに埋め込むことで、リクエストの正当性を保証します。
サンプルコード2: nonceの検証
if ( ! wp_verify_nonce( $_REQUEST['nonce'], 'my_action' ) ) {
die('Nonce verification failed!');
}
上記のコードは、送信されたnonceが正当であるかを確認します。もし無効であれば、エラーメッセージを出力します。
サンプルコード3: フォームにnonceを追加
<form method="post">
<?php wp_nonce_field('my_action', 'my_nonce'); ?>
<input type="submit" value="送信">
</form>
この例では、フォームにnonceフィールドを追加しています。これにより、送信されたデータが正当であることを確認できます。
サンプルコード4: Ajaxリクエストでのnonce使用
add_action('wp_ajax_my_action', 'my_action_callback');
function my_action_callback() {
check_ajax_referer('my_action', 'nonce');
// 処理を実行
}
このコードは、Ajaxリクエストの処理にnonceをチェックする例です。nonceが有効でない場合、リクエストは拒否されます。
サンプルコード5: nonceの時間依存値の取得
$time_dependent_nonce = wp_nonce_tick(time());
こちらの例では、現在の時刻に基づくnonceの時間依存値を取得します。この値は、特定のnonceの有効期限を管理する際に役立ちます。
これらのサンプルコードは、WordPressの公式ドキュメントやコミュニティリソースから得られたものです。具体的なURLについては、著作権フリーのコンテンツとして明記されていない限り、一般的な開発ガイドラインやリファレンスを参照してください。