WordPress
time_read17mn de lecture

WordPress nonce : qu’est-ce que c’est et comment créer un nonce ?

14 avril 2024

WordPress nonce : qu'est-ce que c'est et comment créer un nonce ?

WordPress nonce, ou « number used once« , est un mécanisme de sécurité crucial pour protéger votre site contre les attaques de type CSRF (Cross-Site Request Forgery). 🛡️ Ces petites clés cryptographiques aident à valider que les actions effectuées sur votre site proviennent de sources légitimes. Dans cet article, nous plongeons dans le monde des nonces WordPress : vous apprendrez exactement ce qu’est un nonce, pourquoi il est indispensable, et comment vous pouvez implémenter cette fonctionnalité pour sécuriser vos formulaires et processus d’authentification. 📊 Que vous soyez développeur ou simplement curieux de sécuriser davantage votre site, ce guide vous donnera les clés pour utiliser efficacement les nonces dans WordPress. 🗝️

Objectif

En lisant cet article, vous allez découvrir, ce que c’est WordPress nonce, pourquoi vous devez l’utiliser et la manière de l’implémenter sur votre site.🤔

Besoin d'un hébergement web au meilleur prix ?

LWS vous conseille sa formule d’hébergement en promotion à -25% (offre à partir de 1,49€ par mois au lieu de 1,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l'offre

Prérequis

Pour configurer WordPress nonce, vous devez avoir la possibilité d’accéder au fichier functions.php de votre installation. Pour cela, vous pouvez utiliser un client FTP ou le gestionnaire intégré dans votre compte d’hébergement.

WordPress nonceDans WordPress, un nonce désigne un hachage composé de chiffres et de lettres utilisé pour protéger les URLs ou les formulaires d’un site contre une utilisation abusive. Contrairement aux nonces classiques qui sont utilisés une seule fois, les nonces WordPress peuvent être utilisés plusieurs fois aussi longtemps qu’ils sont valides.

La durée de vie d’un nonce WordPress est généralement de 24 heures avant d’être invalide.

Pourquoi utiliser des nonces sur votre site ?

Les nonces WordPress permettent d’empêcher diverses attaques contre les sites web en ligne et particulièrement les attaques CSRF. Au cours d’une attaque CSRF, un pirate transmet une requête HTTP falsifiée à un utilisateur authentifié dans le but d’exécuter une action interne sur un site. L’utilisateur sera amené à exécuter une action sur son site sans en être conscient.

Sur WordPress, vous pouvez par exemple supprimer une publication avec accédant à l’URL suivante :

http://votresite.fr/wp-admin/post.php?post=440&action=trash

En accédant à ce lien, WordPress vérifie les informations de votre cookie d’authentification et valide la suppression de la publication dont l’identité est « 440 » si vous êtes autorisé.

Lors d’une attaque CSRF, l’attaquant peut déguiser une URL falsifiée et la faire exécuter depuis votre navigateur en utilisant vos propres droits.

<img src="http://votresite.fr/wp-admin/post.php?post=440&action=trash" />

Comme vous le voyez dans l’URL malveillante ci-dessus👆, votre navigateur déclenche une demande à WordPress en attachant automatiquement votre cookie d’authentification. Par conséquent, la demande de suppression de la publication « 440 » sera considérée comme valide et exécuté par WordPress.

En ajoutant un nonce à cet URL, vous empêchez aux pirates d’entreprendre avec succès cette action malveillante. Voici l’URL de la même publication avec un nonce.

http://votresite.fr/wp-admin/post.php?post=440&action=trash&_wpnonce=b192f1235

En ajoutant ce jeton de sécurité, lorsqu’un attaquant tente de supprimer l’article « 440 » sans ajouter le nonce attaché, WordPress renvoie une réponse 403 Forbidden avec un message d’erreur : « Êtes-vous sûr de vouloir faire cela ? ».

Besoin d’un hébergement WordPress rapide et de qualité ?

LWS vous conseille sa formule d’hébergement WordPress en promotion à -20% (offre à partir de 3,99€ par mois au lieu de 4,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l’offre

Comment créer un nonce dans WordPress ?

Les nonces WordPress peuvent être ajoutés à une chaîne de requête d’une URL, dans un champ masqué d’un formulaire ou dans un autre contexte. Notez que ces jetons de sécurité sont uniques au cours d’une session. Ils seront donc invalides lorsque vous vous déconnectez.

Vous devez accéder au fichier functions.php de votre thème pour agir.

Ainsi, pour ajouter un nonce, vous devez appeler la fonctionwp_nonce_url()  et spécifier l’URL nue ainsi que l’action à effectuer dans une chaîne comme ceci. 👇

$nonce = wp_nonce_url( $bare_url, 'trash-post_'.$post->ID );

Par défaut, WordPress va ajouter un champ nommé⁣,_wpnonce, vous pouvez spécifier le nom du champ en utilisant l’appel ci-dessous :

$nonce = wp_nonce_url( $bare_url, 'trash-post_'.$post->ID, 'my_nonce' );

Ensuite, pour ajouter un nonce à un formulaire, vous devez appeler la fonction wp_nonce_field().  Vous devez aussi spécifier la chaîne pour l’action de l’utilisateur. Par exemple, pour supprimer un commentaire, votre nonce devrait ressembler à celui-ci.👇

$nonce= wp_nonce_field( 'delete-comment_'.$comment_id );

Ensuite, si vous souhaitez créer un nonce pour un autre contexte, vous devez appeler la fonction wp_create_nonce(). Là aussi, vous devez spécifier une chaîne représentant l’action à effectuer :

$nonce = wp_create_nonce( 'mon-action_'.$post->ID );

Et si vous souhaitez modifier la durée de vie par défaut d’un nonce, vous devez utiliser le filtre nonce_life tout en spécifiant votre durée de vie en seconde :

add_filter( 'nonce_life', function () { return 6 * HOUR_IN_SECONDS; } );

Avec ce filtre, vos nonces auront une durée de vie de six heures et ils ne seront plus valides après ce délai.

Par ailleurs, vous pouvez également modifier le type de message à afficher lorsque le nonce est invalide à l’aide du système de traduction en insérant le code ci-dessous :

function mon_nonce_message ($translation) {
    if ($translation === 'Êtes-vous sûr de vouloir faire ceci ?') {
       retour 'Non ! Non! Non!';
    } 

    return $translation ;
}
 
add_filter('gettext', 'my_nonce_message');

Besoin d'un serveur privé virtuel VPS sécurisé ?

LWS vous conseille sa formule d’hébergement sur VPS en promotion à -75% (offre à partir de 4,99€ par mois au lieu de 19,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l'offre

Vérifier un nonce dans WordPress

Si vous avez intégré des nonces dans vos URLs, vos formulaires, vous pouvez les vérifier en utilisant la fonction check_admin_referer(). Vous devez être précis en spécifiant correctement votre nonce. Par exemple, pour vérifier un nonce de suppression d’un commentaire, votre appel peut ressembler à ceci.👇

check_admin_referer( 'delete-comment_'.$comment_id );

Dans l’éventualité où la vérification échoue, WordPress renvoie la réponse 403 Forbidden.

Les utilisateurs qui n’ont pas utilisé le champ par défaut _wpnonce, doivent spécifier le champ personnalisé et configuré lors de la création du nonce comme dans l’exemple ci-dessous :

check_admin_referer( 'delete-comment_'.$comment_id, 'my_nonce' );

Pour les requêtes AJAX, votre vérification doit être faite en appelant la fonction check_ajax_referer(). Vous devez toujours spécifier la chaîne représentant l’action :

check_ajax_referer( 'process-comment' );

Si votre nonce est utilisé dans un autre contexte, la vérification sera faite en utilisant la fonction wp_verify_nonce(). Là encore, vous devez spécifier la chaîne qui représente l’action :

wp_verify_nonce( $_REQUEST['my_nonce'], 'process-comment'.$comment_id );

Besoin d'un serveur privé virtuel VPS sécurisé ?

LWS vous conseille sa formule d’hébergement sur VPS en promotion à -75% (offre à partir de 4,99€ par mois au lieu de 19,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l'offre

Conclusion

🥳Toutes nos félicitations pour avoir lu cet article. WordPress nonce peut vous aider à protéger votre site contre les attaques malveillantes. Vous avez appris dans cet article, le processus complet pour créer un nonce sur WordPress. Il ne vous reste qu’à passer à l’action !

Avez-vous des questions sur les nonces WordPress ? Utilisez la section commentaire pour nous écrire.

Avatar de l'auteur

Auteur de l'article

Joseph

Bonjour, je m'appelle Joseph. Je suis rédacteur spécialisé dans WordPress, PrestaShop et d'autres CMS. Fort d'une expertise approfondie en PHP et MySQL, je partage mes connaissances à travers des tutoriels simples et accessibles. Passionné par le développement et la transmission de savoir, j'aime expliquer et rendre les concepts techniques compréhensibles pour tous

Avis client de l'hébergeur LWS

Nos avis Trustpilot Nos avis Hostadvice Nos avis sur avis.lws.fr
Avis trustpilot 30/04/2022

LWS l'hébergeur par excellence !

LWS est pour moi l'hébergeur par excellence, que cela soit au niveau de l'hébergement qui est très performant, les mails qui sont d'une qualité professionnelle et de la gestion du domaine facile à comprendre.

PauseGreen

Avis hostadvice 27/04/2022

Super, au top !

Au top, prix attractif. Service très rapide et réactif. Je l'ai même personnellement recommandé à des proches. La vie est bien plus facile avec LWS

Masset Eliot

Avis avislws 26/04/2022

Support

Clair, efficace, rapide et à tarif abordable. J'ai maintenant un site superbe à mon image, puisque je le fais moi-même. L'équipe technique est au top, j'ai une réponse en 20 minutes, cela change d'autres hébergeurs pourtant plus connu.

Lady Whip

Avis hostadvice 24/04/2022

Bravo et merci

Bravo et merci aux équipes techniques pour leur réactivité et leur professionnalisme depuis plus de 10 ans chez eux et de nombreux sites !!! Merci

Olivier Delmas

Avis trustpilot 23/04/2022

Je suis très satisfait.

J'ai commandé un hébergement pour le site d'une association. Tout s'est passé très rapidement et sans la moindre embuche. La tarification est attractive et me parait très claire. Le panneau d'administration de l'hébergement est facile à utiliser et à comprendre. Je n'ai pas encore installé Wordpress car le contenu n'est pas prêt mais ce sera la prochaine étape et je suis très confiant. Merci !

Pierre-André Liné

Avis avislws 20/04/2022

Un service technique excellent

Je suis client chez LWS depuis 2011 avec une boutique OSCommerce qui tourne comme une horloge depuis cette date sur un hébergement mutualisé. La disponibilité de la boutique est très proche de 100%. Concernant les rares problèmes rencontrés en huit ans, j’ai eu à chaque fois un technicien compétent qui a résolu le problème très rapidement et efficacement. Je suis en train de migrer sur une plateforme Pretashop sur un VPS, avec l’offre LWS Debian 9 et Prestashop. Un technicien m’a grandement aidé pour finaliser l’installation de la boutique lors de la mise à jour vers la dernière version de Prestashop 1.7 qui posait problème. Je suis très satisfait de LWS, et ce sur la durée : réponses et réactions rapides et efficaces. Je recommande cet hébergeur et encore merci.

Alain

Avis trustpilot 16/04/2022

Une expérience jamais égalée !

Étant Développeur Web & Mobile Full-Stack depuis plus de 5 ans déjà, j'ai rarement eu un service client aussi rapide et efficace. Sans compter la qualité du service en ligne. Je recommande VIVEMENT LWS !

Chris KOUAKAM

Avis hostadvice 12/04/2022

Très bon hébergeur

J'ai un serveur VPS chez eux et je n'ai aucun problème, dès qu'il y a un problème le service technique est la pour vous aider et répond assez rapidement à votre demande. Je recommande vivement cet hébergeur.

Vanden Cruyce

Avis avislws 09/04/2022

Je suis ravie

Je suis ravie d'être avec LWS sur tous les plans, je remercie les Techniciens (Fabrice, Omar, Sandy-Mahitsison) depuis plus de 8 ans j'ai évolué avec LWS et toujours soutenue. Une véritable relation humaine même si les questions ou nos inquiétudes ne correspondent pas à leurs missions, ils sont là pour nous répondent et nous rassurent. Mon site c'est mon travail ma source de revenue donc il sont mes partenaires ! les travailleurs de l'ombre merci à eux ! Merci LWS

L'atelier-and-Co

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.