vendredi 25 septembre 2026

À propos

Contact

Sécurité

Clés et salts WordPress : à quoi ils servent et quand les renouveler

AUTH_KEY, AUTH_SALT, LOGGED_IN_KEY… huit constantes discrètes qui sécurisent chaque cookie et chaque nonce de votre site.

Par Clément Hadrot • 26 février 2020 • 5 min de lecture • Aucun commentaire
Clés et salts WordPress : à quoi ils servent et quand les renouveler

Dans un wp-config.php fraîchement installé, huit lignes intriguent souvent les développeurs qui débutent : une série de constantes nommées AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, chacune accompagnée de son pendant _SALT. Elles ressemblent à du bruit aléatoire, et c’est précisément leur rôle : servir de sel cryptographique pour tout ce que WordPress signe en coulisses.

Ces clés ne protègent pas directement une base de données ni un mot de passe. Elles interviennent dans la fabrication des cookies d’authentification et des jetons de sécurité appelés nonces. Comprendre leur mécanique aide à savoir quand les renouveler sans casser l’expérience des visiteurs, et pourquoi les ignorer expose un site à des risques bien réels.

Ce que sont réellement ces clés

Chaque constante combine deux éléments : une clé (une phrase quelconque) et un salt (une chaîne aléatoire supplémentaire). Le cœur de WordPress les concatène avant de les faire passer dans une fonction de hachage. Le résultat sert de secret partagé, jamais transmis au navigateur, qui permet au serveur de vérifier qu’une donnée reçue a bien été émise par lui-même.

Le générateur officiel, accessible sur api.wordpress.org, produit un jeu de huit lignes prêtes à coller. Chaque site devrait avoir son propre jeu, distinct de celui de tous les autres sites hébergés sur le même serveur.

Leur rôle dans les cookies et les nonces

Quand un utilisateur se connecte, WordPress construit un cookie contenant son identifiant, une date d’expiration et une signature calculée à partir de LOGGED_IN_KEY et LOGGED_IN_SALT. À chaque requête suivante, la fonction wp_validate_auth_cookie() recalcule cette signature et la compare. Sans connaître la clé, impossible de fabriquer un cookie valide, même en devinant l’identifiant d’un administrateur.

NONCE_KEY et NONCE_SALT jouent un rôle voisin pour les nonces, ces jetons à usage limité qui accompagnent les formulaires d’administration et certains appels à l’API REST. La fonction wp_create_nonce() s’appuie dessus pour générer un jeton impossible à deviner sans les clés du site.

L'essentiel à retenir : Huit constantes signent cookies et nonces à l'insu de l'utilisateur ; Les renouveler déconnecte tout le monde instantanément ; WP-CLI génère et applique un jeu de clés en une commande

Renouveler les clés : effets et bonnes pratiques

Changer une clé invalide instantanément tous les cookies et nonces déjà émis. Concrètement :

  • Tous les utilisateurs connectés, y compris les administrateurs, sont déconnectés au prochain chargement de page.
  • Les formulaires ouverts dans un onglet depuis un moment (édition d’article, réglages) renverront une erreur de sécurité à la soumission.
  • Les sessions de l’API REST basées sur les cookies sont également coupées.

Ce comportement, loin d’être un défaut, est justement l’intérêt d’une rotation : après une suspicion de fuite (sauvegarde exposée, dépôt de code partagé par erreur, ancien collaborateur ayant eu accès au serveur), renouveler les clés révoque d’un coup tous les accès actifs sans avoir à traquer chaque session individuellement.

Automatiser la rotation avec WP-CLI

Plutôt que de copier-coller depuis le générateur en ligne à chaque fois, WP-CLI expose une commande dédiée qui modifie directement le fichier :

wp config shuffle-salts

Elle régénère les huit constantes en une seule opération, sans exposer les nouvelles valeurs dans un terminal partagé ni nécessiter de copier une réponse HTTP. Dans un contexte d’agence, cette commande s’intègre facilement à un script de réponse à incident, déclenché par exemple juste après un changement d’équipe ou une alerte de scanner de malware.

Une politique raisonnable consiste à programmer cette rotation à intervalle fixe, par exemple tous les six mois pour les sites sensibles, en plus d’un déclenchement immédiat en cas de doute.

Un piège fréquent : des clés partagées entre environnements

Sur des hébergements mutualisés bas de gamme ou lors d’un clonage rapide de production vers un environnement de test, il arrive que le même wp-config.php soit copié tel quel. Résultat : les deux environnements partagent des clés identiques, et un cookie valide sur l’un peut parfois être rejoué sur l’autre si la base de données et l’URL correspondent.

Sur chaque nouveau clonage de site, la génération d’un jeu de clés propre à l’environnement de destination fait partie de notre check-list, au même titre que le changement d’URL.

En résumé

Les clés et salts de WordPress ne sont pas un détail de configuration parmi d’autres : ce sont les secrets qui rendent les cookies d’authentification et les nonces impossibles à falsifier. Les générer proprement à l’installation, ne jamais les partager entre environnements, et savoir les renouveler en cas de doute avec wp config shuffle-salts forme un réflexe simple qui coûte une commande et rapporte une vraie tranquillité d’esprit.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi