PHP/Protect form submit

Un article de Le wiki de 2 noisettes - noisette.ch.


La question principale est : comment différencier un humain d'un robot :

Des réponses possible sont :

  • La perception incroyable de l'oeil
  • Le délai de réflexion

Sommaire

Captcha

Le principe du captcha est basé sur notre aptitude à reconnaître des lettres On génère une image contenant du text flou, et on insert ce texte dans une base de donnée ou une variable de session. A la réception du forumlaire on testera la valeur envoyée par l'utilisateur par celle stockée dans le système.

Délai d'envoi

  • Génère une valeur aléatoire.
  • Insère cette valeur dans une table
|rand|timestamp|referer|
  • A la réception du formulaire, on récupère le timestamp associé à la valeur aléatoire, on test si le referer est le bon et si le délai n'est ni inférieur à une valeur de délai minimum ni suppérieur à un valeur de délai maximum (facultatif).

Protocole de challenge/réponse

Soumissions multiples

Lors d'un submit d'un formulaire, ajouter une variable qui est true, qui passe à false quand on submit, puis qui empêche de resubmiter.

--> javascript...