web-dev-qa-db-fra.com

Puis-je vérifier le nonce généré sur un autre WP site?

J'ai un formulaire avec l'action allant à un autre site wordpress. Je souhaite utiliser wp_nonce pour générer des champs de la forme sur le site A. Puis-je utiliser wp_verify_nonce sur le site B pour vérifier les champs nonce?

3
Luke Seall

En théorie, oui, mais ce sera une très mauvaise chose à faire. Pour cela, vous aurez besoin du secret utilisé pour générer le nonce sur le site A du site B, ce qui signifie que si le site B est compromis, le site A pourrait également l'être (une synchronisation temporelle doit également être effectuée entre les sites, mais que le moindre souci).

Il y a deux façons de s'y prendre correctement

  1. n'utilisez pas du tout le nonce. les nonce sont là pour protéger les utilisateurs enregistrés et s'il est peu probable que l'auteur du formulaire soit enregistré ou que le formulaire ne fasse rien de destructeur sur le serveur, il ne sert à rien de les utiliser

  2. Le site A doit intégrer le formulaire sous forme d'Iframe à partir du site B. De cette manière, le nonce a été généré par le site B et peut le vérifier sans connaître les secrets du site A.

1
Mark Kaplun