web-dev-qa-db-fra.com

Sécurité autour du crochet save_post

Il existe de nombreux exemples utilisant le hook save_post, qui incluent l'ajout et la vérification d'un nonce, et la vérification que l'utilisateur dispose des autorisations appropriées avant de continuer.

Est-ce nécessaire?

Lors de la mise à jour/publication d'un message, WP vérifie le nonce normal et vérifie les autorisations lui-même, en redirigeant vers une page 403 ou "Êtes-vous sûr de vouloir le faire?" Si quelque chose ne fonctionne pas. En tant que tel, le hook ne sera même pas appelé si une mauvaise demande est faite, alors pourquoi devrais-je vérifier ces choses moi-même?

2
user37315

Le hook save_post est appelé chaque fois que quelqu'un appelle la fonction wp_insert_post(). Les plugins le font, malheureusement aussi pour certains thèmes, et WordPress lui-même à plusieurs endroits lorsque…

  • quelqu'un utilise post par email ou XML RPC
  • un brouillon est créé
  • la fonctionnalité Quick Draft du tableau de bord est utilisée
  • un élément de menu de navigation est ajouté
  • une révision est créée

Vous ne voulez vraiment pas gérer toutes ces actions sans votre propre vérification.

En outre, les nonces doivent garantir qu’une action ne peut pas être répétée par une personne écoutant le trafic réseau d’une autre personne. En théorie , les nonces empêchent cela. Les sites par défaut de WordPress ne sont pas très sécurisés à cet égard, car ils peuvent être réutilisés. Mais vos utilisateurs ont peut-être installé un plugin qui crée de véritables nonces. Voulez-vous vraiment contourner leurs mesures de sécurité supplémentaires? Probablement pas.

2
fuxia