Scripts PHP
◄ retour à la liste
Démo
Télécharger (6 Ko)
Par exemple, s'il était au départ sur
Le mot de passe géré par .htaccess permet de s'assurer qu'aucun robot ne parviendra jusqu'au formulaire : en supposant qu'un robot essaye au hasard des URL de noms de dossier et demande le dossier
Ce que ne voit pas notre internaute, car toute la partie en question est absolument invisible et donc inaccessible pour lui via une propriété CSS, c'est que la page
Voici le code source de ce formulaire :
Dans le CSS de la page, le formulaire est ainsi défini afin de le rendre invisible pour l'internaute (mais pas pour le robot qui va parcourir le code source et trouver le formulaire) :
Le formulaire en question renvoit sur la page
Antispam : faux formulaire
Le principe
L'idée est d'amener le robot spammeur à se focaliser sur un formulaire de contact invisible pour l'utilisateur, tout en expliquant au visiteur comment accéder à la vraie page de contact, laquelle sera protégée par .htaccess pour plus de sécurité.
Fonctionnement
L'utilisateur est dirigé vers la page contact.html
que voici :
Bonjour
Afin de limiter le spam, nous avons protégé l'accès à notre formulaire de contact.
Vous êtes ici sur la page contact.html. Dans la barre d'adresse de votre navigateur, remplacez contact.html par contact51, puis validez. Il vous sera alors demandé de saisir un nom d'utilisateur et un mot de passe, que voici :
Vous accèderez ainsi au véritable formulaire de contact.
Merci de votre compréhension.
Afin de limiter le spam, nous avons protégé l'accès à notre formulaire de contact.
Vous êtes ici sur la page contact.html. Dans la barre d'adresse de votre navigateur, remplacez contact.html par contact51, puis validez. Il vous sera alors demandé de saisir un nom d'utilisateur et un mot de passe, que voici :
Vous accèderez ainsi au véritable formulaire de contact.
Merci de votre compréhension.
Ceci est un captcha d'exemple assez facile à lire, qui devra bien sûr être modifié de temps en temps.
Ce changement d'url, assez facile à réaliser (je pense) pour la plupart des internautes, va l'amèner sur le dossier contact51
.Par exemple, s'il était au départ sur
http://monsite.fr/contact.html
, il ira sur http://monsite.fr/contact51
, ce qui est une adresse de dossier et non de page.
Il faut proposer au visiteur de remplacer
contact.html
par n'importe quel autre mot ou expression, du moment que ce soit simple, que ça redirige sur un dossier, et que ce n'est pas un nom de dossier courant que les robots pourraient être tentés d'essayer (par exemple : admin, images, img...).A quoi sert le .htaccess ?
Ce dossier contact51
est protégé par un mot de passe .htaccess qui va lui demander les identifiants indiqués au-dessus : il devrait pouvoir accéder sans problème au contenu, à savoir le vrai formulaire de contact, lequel n'a normalement plus besoin de protection anti-robot.
Le mot de passe géré par .htaccess permet de s'assurer qu'aucun robot ne parviendra jusqu'au formulaire : en supposant qu'un robot essaye au hasard des URL de noms de dossier et demande le dossier
contact51
, il sera bloqué par le mot de passe.
et les robots dans tout ça ?
Maintenant, occupons-nous des robots spammeurs, forcément attirés par cette page "contact.html
" qui laisse entrevoir des perspectives alléchantes de spam ! On leur promet un formulaire de contact, il faut leur en donner un, pour qu'ils n'aient pas l'impression qu'il manque quelque chose et aillent chercher ailleurs.
Ce que ne voit pas notre internaute, car toute la partie en question est absolument invisible et donc inaccessible pour lui via une propriété CSS, c'est que la page
contact.html
propose également un formulaire de contact en bonne et dûe forme :
<form method='post' id='form1' action='contact.php'><b>Formulaire de contact</b><br><br>Nom : <input type='text' name='name' value=''><br>Email : <input type='text' name='email' value=''><br>Objet : <input type='text' name='object' value=''><br>Message :<br><textarea name='message' value='' cols='50'></textarea><br><br><input type='submit' value='Envoyer'></form>
#form1 {display:none}
Les noms de champs sont volontairement très explicites, afin de laisser croire aux robots, qui justement cherchent ce genre de pages, que le formulaire proposé sert à envoyer un message : nom, email, objet et message... tout est là !
Le formulaire en question renvoit sur la page
contact.php
: c'est spécifié via le champ action de la balise <form>.
Notre robot a tout ce qu'il voulait : il va envoyer son message sur la page contact.php
, laquelle va lui retourner un beau message de confirmation :
Votre message a bien été envoyé, merci de votre visite !
Le traitement effectué par la page contact.php
est le suivant :
<?php echo "Votre message a bien été envoyé, merci de votre visite !"; ?>
La page ne gère rien d'autre que l'affichage de ce message, et rien de plus. Les données envoyées ? Oubliées, disparues, effacées... il n'y a aucun besoin de les traiter de quelque façon que ce soit !