Configuration (P)

Imprimer Envoyer
Écrit par Fly06   
Mercredi, 30 Septembre 2009 09:21

Le plugin est l'élément le plus important puisque c'est lui qui est chargé de l'identification et du blocage des spammers.

Il s'agit d'un plugin de type 'system' qui est exécuté (évènement 'onAfterRoute') avant l'appel de l'instruction :

$mainframe->dispatch($option);

du fichier index.php ce qui permet d'intercepter le retour des données de formulaires (inscription) avant qu'elles ne soient traitées par le composant approprié.

Fonctionnement du plugin

Dans les grandes lignes, ce plugin confronte les données saisies par :

  • Un visiteur lors de l’enregistrement (toujours si le plugin est activé)
  • Un utilisateur lors de la modification des données personnelles (optionnel)

avec les informations sur les spammers listés sur le site Stop Forum Spam à savoir :

  • Username
  • Email
  • Adresse IP

en utilisant l’API du site Stop Forum Spam.

Si les données saisies sont celles d'un spammer, le plugin interrompt l'exécution normale du script Joomla (fichier index.php) en envoyant sur le flux de sortie (client http du spammer) une alerte javascript (cf. image ci-dessous) suivie d'une redirection javascript, empêchant ainsi l'enregistrement du spammer. Enfin, un mail de notification est envoyé à l'administrateur du site en cas de détection et de blocage d'un spammer (optionnel).

Dans la dernière version (v1.1), il est maintenant possible d'effectuer la redirection côté serveur (système de message standard Joomla) :

Ce message sera affiché après interruption de la procédure d'enregistrement en cours et retour au formulaire d'inscription.

Il ne s'agit pas du message d'origine, les constantes de langues peuvent êtes modifiées par le webmaster via l'extension Translation Manager.

Il s'agit ici d'une description sommaire des possibilités offertes par le plugin mais suffisante pour une compréhension globale de son fonctionnement.

 

Paramètres de configuration

Le tableau ci-dessous décrit les différents paramètres dont dispose l'administrateur du site pour adapter le comportement du plugin en terme de critères de détection, de notification admin/user, de redirection, etc.

 

Paramètre Valeur Description
Puissance du filtre
  • Au moins un critère
  • Tous les critères
Un seul critère positif suffit-il à identifier un spammer ou faut-il que tous les critères soient positifs ?
Détection Email
Oui/Non

Utiliser l'email du visiteur comme critère d'identification

Détection Username
Oui/Non Utiliser le username du visiteur comme critère d'identification
Détection IP Oui/Non Utiliser l'adresse IP du visiteur comme critère d'identification
Notification administrateur Oui/Non Notifier par mail l'administrateur qu'une inscription ou une modification de compte vient d'être bloquée
Redirection
  • Retour à la page précédente
  • Rediriger vers une url prédéfinie
Redirection du spammer vers la page précédente ou vers une url pré-définie
URL de Redirection
Texte Une url absolue (ex : http://www.stopforumspam.com/) ou relative (ex : index.php)
Appliquer aux utilisateurs
  • Ne pas appliquer
  • Appliquer mais sans bloquer le compte utilisateur
  • Appliquer et bloquer le compte utilisateur si déjà dans les logs
  • Appliquer et bloquer le compte utilisateur

 

Appliquer la détection des spammers aux utilisateurs lors de la modification de leurs données personnelles
Notification Utilisateurs Oui/Non
Notifier par mail l'utilisateur dont le compte vient d'être bloqué
Nom de l'expéditeur
Texte
Nom de l'Expéditeur des mails de notification (optionnel)
Email de l'expéditeur
Texte
Email de l'Expéditeur des mails de notification (optionnel)

Choix des critères de détections

Il est nécessaire que l’un au moins des trois critères de détection (email, username, ip) soit activé pour que le plugin soit opérationnel. Dans cas contraire, le plugin se dépubliera à sa première exécution, enverra un email de notification à l’administrateur et redonnera la main au script appelant (index.php).

Parmi ces trois critère les plus robustes sont l'email et l'ip.

Le critère username n'est pas très robuste, il est donc déconseillé de l'utiliser afin d'éviter que des non-spammers soient bloqués à l'enregistrement.

Le comportement du plugin diffère selon que la puissance du filtre est OU (Au moins un critère) ou ET (Tous les critères) :

  • En mode OU : Il suffit d'un seul critère actif positif pour que le spammer sera détecté et donc bloqué. Dans ce mode, plus il y a de critères actifs et plus le filtre a de chance d'être positif.
  • En mode ET : Il faut au contraire que tous les critères actifs soient positifs pour que le spammer sera détecté et donc bloqué. Dans ce mode, plus il y a de critères actifs et moins le filtre a de chance d'être positif.

Les deux modes sont équivalents lorsqu'il n'y a qu'un seul critère actif.

Notons enfin que le plugin ne se contente pas de bloquer les spammers lors de l’enregistrement, il permet aussi la journalisation des spammers bloqués en base de données (logs).

L'activation des logs est paramétrable au niveau du composant.

Note technique

Le code du plugin a été complètement restructuré dans la version 1.1 par création d'un helper class (spammerBlockerHelper) qui encapsule de façon transparente :

  • Tous les traitements de bas niveau du plugin (méthodes)
  • Toutes les données constitutives de l'état du plugin (propriétés)

La méthode principale du plugin onAfterRoute() de la classe plgSystemsSpammerBlocker ne fait appel qu'à des méthodes publiques de la classe spammerBlockerHelper respectant la pseudo déclaration suivante :

boolean doSomething(/* pas d'argument */) {
/* Corps de la méthode */
}

Conséquence remarquable, le code de la méthode onAfterRoute() est beaucoup plus court et extrêmement simple à comprendre même pour un non initié.

Mise à jour le Mardi, 07 Décembre 2010 17:10
 
Créer un compte
Calculator
Login

Login



Register

Créer un compte

Question

Calculator

FRF
Fly06.Fr (C) 2009-2011