Moi je trouve les deux idées géniales (j'avais déjà pensé au code visuel, mais ne sais pas comment on s'y prend), mais est-ce-que vous pourriez m'en dire un peu plus sur le code à insérer? Je dois préciser que mon guestbook est hébergé chez Free, je ne suis pas sûre de pouvoir intégrer toutes les modifs, mais je dois pouvoir essayer si on m'explique. ..Sauf que le robot ne saura pas quoi mettre alors que l'humain "normal" ouihumm oui c'est le même principe quel code visuel (que j'ai mis en place d'ailleurs)
Code : Tout sélectionner
<textarea name="je_suis_un_robot" style="display: none"></textarea>
Mais pas mal mais il ne faudras pas lomgtemps avant que les robot de ce fasse plus pieger par de telles phrases phrase qui contiennent robot, je suis un robot, etc....La solution que je recommande (testée et approuvée par PHPFrance.com, regardez le source) est d'ajouter un champs invisible à ton formulaire, avant le champs où on entre son message. Par exemple:Les utilisateurs normaux ne verront pas le champs mais les robots le rempliront sûrement. Ensuite il ne te reste plus qu'à vérifier si le champs est rempli pour savoir s'il s'agit d'un robot.Code : Tout sélectionner
<textarea name="je_suis_un_robot" style="display: none"></textarea>
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.Salut,La solution que je recommande (testée et approuvée par PHPFrance.com, regardez le source) est d'ajouter un champs invisible à ton formulaire, avant le champs où on entre son message. Par exemple:Les utilisateurs normaux ne verront pas le champs mais les robots le rempliront sûrement. Ensuite il ne te reste plus qu'à vérifier si le champs est rempli pour savoir s'il s'agit d'un robot.Code : Tout sélectionner
<textarea name="je_suis_un_robot" style="display: none"></textarea>
À la rigueur, le nom n'est pas important (si tu regardes le source de la page tu verras que le nom du vrai champs est "spam"il ne faudras pas lomgtemps avant que les robot de ce fasse plus pieger par de telles phrases phrase qui contiennent robot
Les robots continueront bien sûr à poster, à toi de rajouter une vérification du styleest-ce que je ne vais pas tout de même avoir le problème des messages vides
if (!empty($_POST['je_suis_un_robot'])) { die('robot!'); }Coucou,À la rigueur, le nom n'est pas important (si tu regardes le source de la page tu verras que le nom du vrai champs est "spam"il ne faudras pas lomgtemps avant que les robot de ce fasse plus pieger par de telles phrases phrase qui contiennent robot) et on pourrait même le rendre entièrement dynamique (on pourrait imaginer de stocker le nom dans une variable de session et le faire changer pour chaque utilisateur). Le vrai danger est de voir des robots qui interprètent le CSS, ce qui arrivera sans doute bientôt (il me semble que certains interprètent déjà le Javascript).
Les robots continueront bien sûr à poster, à toi de rajouter une vérification du styleest-ce que je ne vais pas tout de même avoir le problème des messages videsif (!empty($_POST['je_suis_un_robot'])) { die('robot!'); }
$_POST
Correspond à : Permet de récupérer les variables envoyées par la méthode POST d'un formulaire
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.hmm, merci quand même pour la réponse, mais ça ne m'éclaire pas beaucoup sur la raison pour laquelle je n'ai pas de "$_POST" dans mon script de livre d'or. J'ai suivi le lien, pas mieux...Correspond à : Permet de récupérer les variables envoyées par la méthode POST d'un formulaire$_POST
Citation de :http://www.phpdebutant.org/article113.php
Si tu n'en as pas dans ton script, c'est que tu dois utiliser $NomElementFormulaire pour accéder à la valeur postée et tu doit avoir pour se faire la valeur register_global à ON sur ton hébergeur. Tu peux vérifier cela en créant un fichier info.php avec le code suivantJ'oubliais aussi, je remarque que dans les solutions proposées, vous avez souvent un "$_post" dans vos scripts, il n'y en a pas sur mon livre d'or à moi, c'est normal?![]()
En plus ça m'embête, parce que toutes les solutions proposées qui contiennent une question piège, par exemple, font référence à cette ligne là... que je n'ai pas...... donc que je ne peux pas modifier...
Honeybun
Code : Tout sélectionner
<? phpinfo(); ?>