Utiliser Akismet sur ses sites pour lutter efficacement contre le spam!

 spam site lutter antispam akismet

Tout développeur connait forcément ce fléau qui a touché, touche ou touchera au moins un de nos sites durant sa petite vie: le spam!

Chacun y va alors de son propre antispam, des plus simples aux plus rusés, mais le constat est là, aucun n’est réellement fiable et efficace (même si le ReCaptcha de Google s’en sort plutôt pas mal). C’est de ce constat qu’Akismet a été crée, à la base pour WordPress puis s’est ouvert à tous les sites qui souhaiteraient en faire l’utilisation.

Le principe est assez simple, quelqu’un laisse un commentaire sur votre site (pouvant comporter un nom, un e-mail, une url). Avant de valider le commentaire, vous allez aller demander l’avis d’Akismet sur ce commentaire et ce dernier grâce à des outils avancés et une base de données monstre sera capable de vous dire si le commentaire est un spam ou non.

La mise en place sur votre site est très rapide (en 10min chrono), il serait donc dommage de s’en passer!

Pour plus d’efficacité encore, sachez que vous pouvez toutefois garder en plus votre antispam actuel, cela fera donc deux “remparts” que le spam devra passer, autant dire que vous ne serez plus embêté avec le spam!

Voici donc en 4 étapes ridicules, le tutoriel pour mettre en place Akismet sur votre site ou blog perso.

1. Rendez-vous sur le GitHub où se trouve la classe PHP5 d’Akismet: Projet GitHub: Akismet PHP5 Class

2. Placez-là et appelez-là dans votre code (je vous passe les détails, un petit include/require de la classe dans votre script php).

3. Allez chercher une clé d’Api sur Akismet

4. Placez ce code là où vous en aurez besoin:

$AkismetAPIKey = 'votreCleApiRecupereeSurAkismet';
$MyBlogURL = 'http://www.ctrl-alt-geek.fr/';

$akismet = new Akismet($MyBlogURL ,$AkismetAPIKey);
$akismet->setCommentAuthor($name);
$akismet->setCommentAuthorEmail($email);
$akismet->setCommentAuthorURL($url);
$akismet->setCommentContent($comment);
$akismet->setPermalink('http://www.example.com/blog/urldetest/');

if($akismet->isCommentSpam())
{
  // Il s'agit vraisemblablement d'un spam!
}
else
{
  // Pas de spam détecté, vous pouvez stocker le commentaire!
}

Simple et rapide, je ne vous avait pas menti!

Fortement inspiré du tuto original (en)

Leave a Reply

Your email address will not be published. Required fields are marked *