概要
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については、著作権フリーのコンテンツとして明記されていない限り、一般的な開発ガイドラインやリファレンスを参照してください。