Share it

Follow me

Twitter

Google+

LinkedIn

Blocage par référent

Une solution contre le spam par référent sous Dotclear 1.x.

Dernière version : 1.2 du 03 août 2008 par brol.

Attention : par manque de temps et du fait que je n'utilise plus Dotclear 1.x, ce plugin n'est plus maintenu. Si vous souhaitez prendre le relai, n'hésitez pas à me le signaler, j'indiquerai la nouvelle adresse de téléchargement avec plaisir.

Note

Ce billet recense les informations générales sur le plugin, ainsi que l'historique complet.

Licence

Le plugin Blocage par Référent est distribué sous les termes de la licence « BSD modifiée ». Cela signifie que vous pouvez modifier, réutiliser et distribuer librement le code, sous les termes de la licence que vous voulez. En revanche, si vous redistribuez le plugin sans changement, vous devez laisser dans l'archive le fichier LICENSE inclus.

Description

Si vous utilisez les plugins « BBClone » ou bien « Referers », vous avez dû vous apercevoir que ceux-ci peuvent être pollués par des référents forgés, renvoyant à des sites commerciaux. On appelle ça le spam par référent.

C'est là qu'intervient le plugin que j'ai développé : Blocage par Référent. Il permet de spécifier une liste de référents à bloquer, soit par l'intégralité du référent, soit par une partie de celui-ci. Par exemple, si vous saisissez « google », vous allez bloquer tous les visiteurs ayant ce terme dans le référent, que ce dernier soit « http://www.google.fr », ou bien « http://images.google.fr », ou bien « http://www.google.com/search?rls=fr&q=goddess-gate.com », etc. Le blocage est sous la forme d'une erreur HTTP 403, avec un message d'erreur, ou bien sur un renvoi vers le site référent.

Installation

Le plugin est maintenant dans le catalogue dédié sur le site de Dotclear.

Télécharger le plugin

Utilisation

Attention, le plugin n'est pas compatible avec Dotclear 2.x

Il n'y a rien de particulier à faire pour utiliser le plugin. Il suffit simplement de l'installer, puis d'aller le configurer.

Si vous mettez à jour depuis la version 1.0 :
Dans le fichier template.php de votre thème, supprimez la ligne suivante

<?php blockReferer::checkReferer(); ?>
juste avant
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

Si vous mettez à jour depuis la version 1.0 ou 1.1, vous devez convertir l'ancienne table de la base de données vers le nouveau format de stockage. Un bouton est prévu a cet effet dans la section de configuration du plugin.

Si vous mettez à jour depuis la version 1.7, le fichier journal est maintenant différent (nom et format). Il n'y a pas de conversion automatique d'un ancien format au nouveau.

Référents à bloquer : ajoutez juste une partie du référent que vous voulez bloquer; par exemple ajoutez « somebuzzword » pour bloquer tout référent contenant « somebuzzword ».

Référents à autoriser : ces autorisations ne sont là qu'à titre d'exception pour le blocage, une liste vide ne bloquant pas tout le monde. Le fonctionnement est le suivant : si un référent est bloqué (et uniquement dans ce cas), un test sera fait sur la liste des référents à autoriser de manière à savoir si on peut exceptionnellement donner l'accès. Par exemple, si une personne trouve votre site sur google lors d'une recherche de « somebuzzword », mais que vous ne souhaitiez pas bloquer les visiteurs de google, vous pouvez ajouter « http://www.google. » dans la liste des référents autorisés. Les autres visiteurs ayant « somebuzzword » dans leur référent resteront bloqués.

Vous pouvez utiliser une partie des référents, ou bien leur adresse complète, ou bien une expression régulière (à l'aide de l'option idoine).

Vous pouvez aussi affiner les réglages en ajoutant des référents à autoriser.

v1.2 (03 août 2008)

  • Mise à jour pour la compatibilité Dotclear 1.2.7+ par brol.

v1.11 (20 avril 2006)

  • Ajout : fichier LICENSE confirmant la licence BSD modifiée du plugin.
  • Correction : erreurs si le journal est vide.
  • Correction : problème d'affichage d'hôtes de référent vides.
  • Modification : le journal des référents est maintenant affiché dans la page des statistiques.

v1.10 (09 janvier 2006)

  • Correction : correction typographique.
  • Correction : tient maintenant compte de l'état actif ou inactif du plugin avant de contrôler le référent.
  • Configuration : synchronisation entre les mots spams de Spamplemousse et les référents à bloquer.

v1.9.1 (07 novembre 2005)

  • Configuration : clarification du fonctionnement de la liste des référents à autoriser.
  • Configuration : correction d'une typo.
  • Statistiques : suppression de l'erreur si le fichier de statistiques n'existe pas.

v1.9 (04 novembre 2005)

  • Configuration : ajout de l'autorisation de référents.
  • Configuration : limitation de la taille prise par les listes de référents.
  • Statistiques : ajout des pourcentages.
  • Statistiques : limitation de la taille prise par les statistiques
  • Statistiques : ajout des noms d'hôte des référents

v1.8 (23 septembre 2005)

  • Modification du format du journal des blocages (passage à un format csv avec séparateur ‘;’).
  • Ajout d'une page de consultation des statistiques des blocages.

v1.7 (05 septembre 2005)

  • Ajout d'un journal des blocages.

v1.6 (22 aout 2005)

  • Correction pour la compatibilité avec PHP 4.1.0

v1.5 (22 aout 2005)

  • Ajout des message manquant dans la localisation fr-iso-8859-1.
  • Corrections orthographiques.
  • Personnalisation du texte du lien d'accès à la page.
  • Clarification de la sauvegarde en cas de modification de plusieurs formulaires simultanément.

v1.4 (17 aout 2005)

  • Il est maintenant possible d'ajouter un message d'erreur personnalisé, avec un lien vers la page cible, ceci afin de gérer les référents “acceptables” contenant un terme bloqué

v1.3 (12 aout 2005)

  • Lors d'une recherche depuis le blog sur un des critères de blocage, l'utilisateur n'est plus bloqué ou redirigé en boucle.

v1.2 (09 aout 2005)

  • N'utilise plus du tout la base de données afin de simplifier les traitements. Il sera nécessaire de convertir l'ancienne table au nouveau format.
  • Utilise maintenant son propre sous-répertoire dans le répertoire /share/ de Dotclear.
  • Ajout d'une option permettant de renvoyer la personne à son propre référent au lieu de simplement refuser l'accès.
  • Ajout d'une option permettant d'utiliser des expressions régulières
  • Nettoyage du code.

v1.1 (08 aout 2005)

  • Utilise maintenant un fichier plat auto-généré afin d'éviter une requête SQL à chaque connexion.
  • Quelques modifications afin d'accélérer les traitements du plugin.

v1.0 (08 aout 2005)

  • Version initiale


comments powered by Disqus