wp_create_nonce()

Définition : wp_create_nonce() génère un jeton WordPress associé à une action, à l’utilisateur et à sa session. Sa durée de validité dépend du mécanisme temporel des nonces WordPress.

Terminologie

Terme officiel : wp_create_nonce()

Autres appellations : Création de nonce

À quoi cela sert

Elle permet de transmettre un jeton à un formulaire, à un bouton ou à un appel AJAX lorsque l’interface n’utilise pas directement wp_nonce_field().

Comment cela fonctionne

WordPress calcule un jeton à partir du contexte d’action et d’authentification. Il n’est pas nécessairement à usage unique et le serveur doit le revérifier lors de la requête ultérieure.

Dans quel contexte l’utiliser

À utiliser lors de la préparation d’un appel asynchrone ou d’une interface personnalisée qui doit envoyer un nonce explicitement.

Exemple concret

Un panneau WordPress prépare une configuration JavaScript contenant un jeton pour interroger une action AJAX réservée.

Exemple de code commenté

Extrait pédagogique PHP pour extension WordPress : adapter au contexte et tester sur un environnement de développement avant tout usage.

<?php
// Au rendu d’une page administrateur autorisée.
if ( current_user_can( 'manage_options' ) ) {
    $nonce = wp_create_nonce( 'atoolpha_demo_ajax' );
    echo '<p>Jeton calculé pour une action interne.</p>';
    // Transmettre normalement le nonce au JS via wp_add_inline_script().
    // Ne pas le journaliser ni l’exposer à un public inutile.
}

Explication pas à pas de l’exemple

1. L’accès à l’écran est contrôlé. 2. Le nonce correspond à l’action atoolpha_demo_ajax. 3. L’exemple n’affiche pas le jeton publiquement. 4. Un véritable endpoint devra le vérifier.

Résultat attendu

Un jeton exploitable dans le contexte courant est disponible pour une action AJAX configurée, sans provoquer une modification de données.

Mise en pratique guidée

Générer un nonce pour un nom d’action choisi, puis transmettre la valeur à un script uniquement dans une page administrateur. Dans l’endpoint, vérifier avec le même nom d’action. Modifier volontairement l’action envoyée et constater le refus. Ne pas confondre cet essai avec une preuve d’accès autorisé : il faut encore contrôler les capacités.

Précautions et limites

Le nonce ne doit pas être considéré comme un secret durable, ni comme substitut à une permission. Pour les utilisateurs anonymes, son comportement exige une analyse spécifique.

À ne pas confondre

wp_create_nonce() génère un jeton ; wp_nonce_field() construit un champ de formulaire ; wp_verify_nonce() valide le jeton reçu.

Termes associés

  • wp_verify_nonce()
  • wp_nonce_field()
  • check_ajax_referer()

Références officielles

Bouton retour en haut de la page