Ne plus être spammé sur son site/blog

Comment ne plus recevoir de spam sur son site/blog ? C’est la question que tout le mon s’est posé une fois.
Je ne vais pas vous parler de scripts à mettre en place, de Captcha ou d’inscriptions avant de commenter un message.

Ma technique est la suivante, et elle fonctionne à 99% des robots spammers.
Il suffit de mettre en place un champs texte placé dans le formulaire qui sera caché par un style css :

  1. <input type="text" name="pseudo" value="" style="visibility:hidden" />

Il faudra vérifier à l’envoi du formulaire si ce champs a été renseigné. Si c’est le cas, alors c’est un robot qui l’a rempli. Un robot de spam remplit automatiquement tout les champs du formulaire qu’il trouve dans le code source de la page. Il pourra donc voir ce champs caché et tomber dans le piège.

Il faut donc vérifier que le champs a été renseigné :

  1. $pseudo = trim($_POST[‘pseudo’]);
  2. if(!empty($pseudo) || $pseudo!=){
  3. die(mysql_error()); //Bye Bye le robot.
  4. }

Je l’ai testé sur Tuxboard.com, je recevais pas moins de 500/600 spams par jours, et maintenant, j’en reçois 1 voire 2 maximum par jour !

Vous obtiendrez en plus de cette suppressions nauséabondes de spams, un gain de performance car il n’est pas s’en rappelez que vous ne subirez pas les utilisations de requêtages des robots et tout cela sans ajout de scripts et autres captcha, souvent illisibles.
Évidemment, cette technique n’a aucun moyen de lutter contre les utilisateurs/spammeurs qui polluent les blogs.

Alterner le contenu de 2 DIV (Javascript / CSS)

Voici un code pour alterner le contenu de 2 DIV et avec un seul lien.

On va créer tout d’abord 2 div contenant 2 textes à alterner avec un CSS element.style.display différent.

<div id=”mod_1″ style=”display: block;”> BONJOUR </div>

<div id=”mod_2″ style=”display: none;”> AU REVOIR </div>

Explication : element.style.display ne retourne une valeur que si l’élément a un attribut HTML style avec propriété CSS display renseignée, donc dans notre cas, la DIV avec l’id mod_1 sera affichée au chargement de la page tandis que mod_2 sera cachée.
Il nous faut un lien pour pouvoir alterner entre les 2 div.

<a onclick=”alterner(’mod_1′,’mod_2′);” title=”Alterner les 2 div”>Alterner</a>

Il nous manque plus que le Javascript :

<script type=”text/javascript”>
function alterner(obj1, obj2){
var obj1 = document.getElementById(obj1);
var obj2 = document.getElementById(obj2);
obj1.style.display = (obj1.style.display == “block”) ? “none” : “block”;
obj2.style.display = (obj2.style.display == “block”) ? “none” : “block”;
}
</script>

Que va faire le script ? Si la DIV mod_1 (obj1 la fonction javascript) est à display:block (affichée) alors on définit la DIV mod_2 à display:none (cachée) et inversement.

Voici un exemple en cliquant sur le lien “Alterner les DIV” :
Alterner les DIV

BONJOUR