web-dev-qa-db-fra.com

Utiliser les transitoires pour stocker les captchas

Je me demandais si quelque chose comme ça marcherait:

  • La page affiche un formulaire contenant un code captcha.
  • Lorsque ce formulaire est généré, un transitoire est configuré pour stocker le code captcha.
  • Le vistor soumet le formulaire
  • Après l'envoi, $_POST['captcha'] est comparé au transitoire de la base de données; si correspondant, retourne succès, sinon échoue
  • Supprimer le transitoire

Qu'est-ce que tu penses? Est-ce sécurisé?

2
Alex

Je pense que, même si cette méthode peut être sécurisée, l’utilisation d’un système captcha sur étagère présente de nombreux avantages, à la fois en termes de sécurité des images/audio/média captcha et d’avantages en termes de performances, tels que la mise en cache. . Si vous utilisez un widget captcha basé sur JavaScript, par exemple, la page générée par WordPress sous-jacente pourrait en fait être entièrement mise en cache en tant que page statique par plusieurs plug-ins de mise en cache. Si vous générez le captcha dans PHP à chaque fois, cela ne serait pas possible

Si vous suivez cette voie, vous voudrez également ajouter un nonce masqué au formulaire afin de vous assurer que l'agent utilisateur qui répond au captcha est celui pour qui vous l'avez généré. La fonction wp_nonce de WordPress peut vous aider à le faire facilement. Sinon, si vous ne videz pas soigneusement vos transitoires captcha, il est possible que quelqu'un cache cette page avec le captcha et qu'un autre agent utilisateur envoie la réponse.

1
mitcho