wp_verify_nonce()

Définition : wp_verify_nonce() vérifie un jeton de sécurité WordPress associé à une action et à un contexte utilisateur. Elle indique si le nonce reçu correspond à une fenêtre temporelle reconnue.

Terminologie

Terme officiel : wp_verify_nonce()

Autres appellations : Vérification de nonce

À quoi cela sert

Elle réduit le risque qu’une autre page déclenche à l’insu de l’utilisateur certaines opérations authentifiées sur le site.

Comment cela fonctionne

La fonction renvoie une valeur indiquant la période de validité ou false si la vérification échoue. Contrairement à un vrai nonce cryptographique à usage unique, le jeton WordPress peut être réutilisé pendant sa validité.

Dans quel contexte l’utiliser

À appeler dans un traitement de formulaire ou une action sensible avant toute mutation et en complément de l’autorisation.

Exemple concret

Une soumission de mise à jour d’une référence doit correspondre au jeton émis pour ce formulaire.

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
// Extrait d’un handler ; permissions à vérifier également.
$token = isset( $_POST['atoolpha_nonce'] ) &&
    is_string( $_POST['atoolpha_nonce'] )
    ? sanitize_text_field( wp_unslash( $_POST['atoolpha_nonce'] ) )
    : '';
if ( ! wp_verify_nonce( $token, 'atoolpha_modifier_niveau' ) ) {
    wp_die( 'Jeton invalide.', '', array( 'response' => 403 ) );
}
// Ensuite : current_user_can() et validation des champs.

Explication pas à pas de l’exemple

1. La donnée postée est vérifiée avant lecture. 2. Le jeton est normalisé. 3. L’action attendue doit correspondre à celle de wp_nonce_field(). 4. Si la vérification échoue, le traitement s’arrête.

Résultat attendu

Une soumission avec jeton absent ou invalide est rejetée avant d’atteindre la sauvegarde de la donnée métier.

Mise en pratique guidée

Créer un nonce pour une action de test, puis essayer de le vérifier avec l’action correcte et avec une autre action. La seconde vérification doit échouer. Refaire une soumission avec un utilisateur différent lorsque le scénario le permet : les nonces sont liés au contexte, mais ne sont ni des mots de passe ni des autorisations.

Précautions et limites

La vérification du nonce ne prouve ni l’authentification ni l’autorisation. Une nouvelle requête doit aussi contrôler les capacités et les données envoyées.

À ne pas confondre

wp_verify_nonce() vérifie un jeton ; check_admin_referer() est une autre interface de contrôle adaptée à certains formulaires administratifs.

Termes associés

  • wp_nonce_field()
  • current_user_can()
  • check_admin_referer()

Références officielles

Bouton retour en haut de la page