Déterminez si la request provient d'un nouvel user

Disons que vous avez un formulaire. Et vous ne voulez pas que le captcha moche soit là, sauf si cela est absolument nécessaire.

Donc, vous laissez l'user soumettre le formulaire, et si le même user soumet le formulaire à nouveau, affichez le captcha, ou quoi que ce soit.

Est-il possible de détecter si la soumission du 2ème formulaire provient du même user?

Je connais $_SERVER['REMOTE_ATTR'] (qui est l'IP user), mais est-ce fiable? Étant donné que cette variable stocke une valeur qui est envoyée par l'user, je suppose que tout robot peut fausser, n'est-ce pas?

Vous pouvez parcourir 2 routes. Vous pouvez soit utiliser un jeton csrf roulant, soit save un drapeau en session. Le drapeau de la session est un peu plus simple:

 session_start(); if(!isset($_SESSION['submit_flag'])){ $_SESSION['submit_flag']=true //perform action... }