1. Introduction▲
Ça y est, c'est fait, vous voilà possesseur d'un site WWW et sur ce site, vous hébergez un forum afin de pouvoir partager et échanger au sujet de votre passion avec les différents internautes.
Et là, grosse déconvenue, les premiers internautes que vous voyez débarquer sur votre forum sont les spammers qui veulent profiter de votre hébergement et de votre vitrine pour faire de la publicité sur certaines pilules bleues aux pouvoirs ahurissants ou encore la dernière vidéo nue d'une actrice à la mode.
Bien sûr, vous ne voulez pas de cela sur votre forum et vous les chassez donc, mais ils reviennent. Vous persévérez dans votre traque aux indélicats qui salissent votre forum et au bout d'un certain temps, vous vous rendez compte que vous passez plus de temps à chasser ces intrus qu'à vous occuper de votre forum préféré. C'est le signe que la méthode que vous employez n'est pas la bonne et qu'il est temps de changer de stratégie.
Ce tutoriel ne parle que des forums phpBB3 bien qu'il en existe d'autres. Certaines méthodes décrites dans ce tutoriel sont utilisables sur d'autres types de forums, mais peuvent dépendre des capacités techniques du moteur de votre forum. Ce tutoriel présente aussi les différentes méthodes techniques que vous pouvez mettre en place sur un forum phpBB3 pour contrer ces spammers (ou au moins, leur rendre la vie plus difficile).
Dans ce tutoriel, les aspects suivants sont abordés :
- la réglementation qui s'applique aux forums est présentée dans le chapitre 2 ;
- la description de la stratégie que vous voulez appliquer aux spammer au chapitre 3 ;
- la configuration d'un forum phpBB3 et le rôle de chacun des paramètres sont présentés dans le chapitre 4 ;
- le chapitre 5 décrit, à titre d'exemple, les valeurs de ces paramètres appliquées sur mon forum ;
- le chapitre 6 se propose de décrire une méthode simple de lutte contre les robots spammer ;
- et enfin le chapitre 7 se propose de conclure ce tutoriel.
2. Qu'est-ce qu'un forum ?▲
Un forum de discussion, aussi appelé forum Internet, est un espace qui permet à chaque utilisateur de discuter d'un ou de plusieurs thèmes, en rapport ou non avec le contenu du site.
Chaque utilisateur peut lire à tout moment les interventions de tous les autres et apporter sa propre contribution à la discussion. Lieux de rencontre et d'échange, ces forums ont pour principal intérêt d'être interactifs.
Les créateurs de sites qui souhaitent ouvrir ce type de forum doivent toutefois suivre quelques règles élémentaires de prudence. Le créateur d'un site peut en effet être tenu responsable, civilement et pénalement, de l'ensemble des messages qui y sont publiés.
2-1. Que dit la réglementation au sujet des forums ?▲
Il n'existe pas en France de réglementation spécifique aux forums Internet. Si l'on se réfère aux textes de loi et à la jurisprudence actuelle :
- l'auteur d'un message est le premier responsable de son contenu au regard du droit commun ;
- l'animateur du forum peut être poursuivi comme auteur principal pour les messages qu'il a lui-même postés, mais aussi comme complice pour les messages illicites dont il a provoqué la survenance (par exemple en lançant un thème de discussion de nature illicite) ;
- le modérateur du forum de discussion peut dans tous les cas être considéré comme complice de l'infraction. Une modération a priori impliquera une plus grande responsabilité ;
- l'éditeur du site exploitant un forum peut être poursuivi pour les contenus illicites ou préjudiciables aux tiers, en qualité d'auteur principal ou de complice.
2-2. En pratique▲
Le bon fonctionnement d'un forum de discussion nécessite l'intervention de modérateurs et l'adoption par les utilisateurs d'un code de bonne conduite (par exemple sous la forme d'une charte).
La modération consiste pour le créateur du forum, ou d'autres personnes, à consulter régulièrement les messages mis en ligne et à supprimer ceux qui seraient illégaux : provocation aux crimes et délits, apologie des crimes de guerre, propos racistes, fausses nouvelles susceptibles de troubler l'ordre public, injures, diffamation…
Cette modération peut s'effectuer soit a priori (avant la publication du message), soit a posteriori (après la publication du message).
Tous les acteurs impliqués dans la diffusion de messages sur les forums Internet doivent faire preuve de la plus grande vigilance.
Il est conseillé à chaque participant de mesurer ses propos pour éviter de porter atteinte aux droits des tiers. Il faut notamment éviter les insultes ou les propos diffamants à l'encontre de toute personne morale ou physique et ne poster aucun message à caractère raciste, violent ou pornographique dans des forums de discussion susceptibles d'être fréquentés par des mineurs.
Il est conseillé aux exploitants de forums de discussion :
- de prévoir une charte de participation au forum ;
- de supprimer dans les meilleurs délais tout message manifestement illicite dont ils ont eu connaissance ;
- d'exercer ou de faire exercer par un modérateur un contrôle régulier sur le contenu des messages postés.
3. Vos stratégies face aux spammers▲
La stratégie à mettre en place face aux spammers dépend de plusieurs facteurs :
- le cercle des utilisateurs que vous comptez admettre sur votre forum ;
- la facilité avec laquelle vous souhaitez que votre forum soit visible ;
- la facilité avec laquelle vous souhaitez que des utilisateurs puissent poster des nouveaux messages ou bien répondre à des messages existants.
De ces choix vont découler trois stratégies :
- la stratégie de lecture ;
- la stratégie d'écriture ;
- la stratégie d'inscription.
3-1. Stratégie de lecture▲
Quelle est la stratégie que vous voulez appliquer afin que des utilisateurs puissent lire les messages de votre forum ?
- Lecture anonyme : est-ce que vous acceptez une lecture de manière anonyme, c'est-à-dire qu'il n'est pas nécessaire de disposer d'un compte pour lire les messages de votre forum ?
- Lecture authentifiée : ou bien, au contraire, est-ce que vous voulez que, pour lire les messages, l'utilisateur ait un compte et soit authentifié sur votre forum ?
De cette stratégie de lecture dépend directement la lisibilité sur Internet et dans les différents moteurs de recherche de votre forum. Il est clair que si vous choisissez une lecture authentifiée, vous serez peu visible, mais aussi moins embêté par les spammers de tout poil.
3-2. Stratégie d'écriture▲
Quelle est la stratégie que vous souhaitez appliquer afin que des utilisateurs puissent poster des messages de votre forum ?
- Écriture anonyme : est-ce que vous acceptez que n'importe qui puisse poster un message de manière anonyme, c'est-à-dire qu'il n'est pas nécessaire de disposer d'un compte pour créer messages ou bien répondre aux messages existants sur votre forum ?
- Écriture authentifiée : ou bien, au contraire, est-ce que vous voulez que pour pouvoir poster un nouveau message ou bien répondre à un message, l'utilisateur ait un compte et soit authentifié sur votre forum ?
- Écriture validée : une troisième stratégie est possible. Elle consiste pour chaque nouveau message ou réponse à un message (que l'utilisateur soit authentifié ou anonyme) à ce que le contenu de ce message soit approuvé et validé par un modérateur du forum. Tant que le message n'est pas approuvé, il reste invisible aux yeux des autres utilisateurs.
De la stratégie d'écriture que vous choisissez dépend partiellement le nombre de messages (bons ou mauvais) qui seront postés sur votre forum. Le nombre de messages postés dépend aussi de l'intérêt suscité par le forum ainsi que de la qualité des interventions (et par conséquent de la modération).
Cette stratégie d'écriture a aussi un impact direct et immédiat sur les messages des spammers. Plus votre stratégie est restrictive et moins vous aurez de messages de spam.
3-3. Stratégie d'inscription▲
À partir du moment où vous choisissez une stratégie non anonyme (que cela soit en lecture ou en écriture), il faut définir les règles de votre forum pour ce qui concerne l'inscription des nouveaux utilisateurs.
Là encore, il y a plusieurs stratégies possibles en fonction du degré de liberté que vous souhaitez laisser aux différents nouveaux utilisateurs.
- Inscription immédiate : cette stratégie d'inscription permet à l'utilisateur de créer immédiatement un compte.
- Inscription vérifiée : cette stratégie d'inscription permet à l'utilisateur de créer un compte. Toutefois, lors de la création de ce compte, il doit fournir une adresse mail valide. Un mail permettant l'activation du compte est alors envoyé à cette adresse mail. Cette stratégie permet de vérifier que l'utilisateur dispose bien d'une adresse mail valide.
- Inscription validée : cette stratégie d'inscription permet à l'utilisateur de créer un compte. Cependant, ce compte devra être validé et approuvé par un modérateur avant de pouvoir être utilisé.
4. La configuration d'un forum phpBB3▲
Ce paragraphe s'intéresse aux choix techniques que vous pouvez configurer sur un forum dont le moteur est phpBB3 (version 3.0.10). Les autres moteurs de forum possèdent certainement des fonctionnalités similaires, mais ce tutoriel se focalise uniquement sur phpBB3.
Afin de pouvoir voir ou modifier ces paramètres sur un forum phpBB3, il fait être administrateur de ce forum et aller dans le panneau d'administration.
Nous nous intéresserons dans les paragraphes suivants à :
- la page « Paramètres des messages » qui permet de régler les paramètres de création de nouveaux messages ;
- la page « Paramètres des inscriptions » qui permet de régler les paramètres relatifs à l'inscription des nouveaux utilisateurs ;
- la page « Champs de profil personnalisés » qui permet de créer des champs particuliers facilitant la lutte contre les robots spammer ;
- la page « Paramètres de la confirmation visuelle » qui permet de régler les paramètres de l'image de test de présence humaine.
4-1. La page « Paramètres des messages »▲
Cette page permet de positionner les valeurs des options concernant la génération de nouveaux messages. Cette page est accessible dans l'onglet « Général », il faut sélectionner l'option « Paramètres des messages » dans le menu de gauche.
Les différents paramètres que vous pouvez modifier sont décrits dans le tableau suivant :
Paramètre |
Description |
---|---|
Autoriser la surveillance des sujets |
Ce paramètre permet aux utilisateurs de recevoir une notification par mail lorsqu'ils sont abonnés à un sujet particulier et qu'une nouvelle réponse est postée dans ce sujet. Les valeurs autorisées sont « Oui » ou « Non ». |
Autoriser la surveillance des forums |
Ce paramètre permet aux utilisateurs de recevoir une notification par mail lorsqu'ils sont abonnés à un forum particulier et qu'un nouveau message est posté dans ce forum. Ce paramètre ne concerne pas les nouvelles réponses, mais uniquement les nouveaux messages. Les valeurs autorisées sont « Oui » ou « Non ». |
Autoriser les BBCode |
Ce paramètre permet d'autoriser l'utilisation du BBCode dans les nouveaux messages et les réponses. Les valeurs autorisées sont « Oui » ou « Non ». |
Autoriser l'utilisation du BBCode [FLASH] dans les messages |
Ce paramètre permet d'autoriser l'utilisation du BBCode [FLASH] dans les nouveaux messages et les réponses. Les valeurs autorisées sont « Oui » ou « Non ». |
Autoriser les smileys |
Ce paramètre permet d'autoriser l'utilisation des smileys dans les nouveaux messages et les réponses. Les valeurs autorisées sont « Oui » ou « Non ». |
Autoriser les liens dans les messages et messages privés |
Ce paramètre permet d'autoriser l'utilisation du BBCode [URL] dans les nouveaux messages et les réponses. Ce paramètre contrôle aussi la transformation automatique des textes en lien. Les valeurs autorisées sont « Oui » ou « Non ». |
Autoriser la désactivation de la censure |
Ce paramètre permet aux utilisateurs de désactiver la censure automatique des messages ou messages privés. Les valeurs autorisées sont « Oui » ou « Non ». |
Autoriser la mise en favoris des sujets |
Ce paramètre permet aux utilisateurs de mettre des sujets en favoris. Les valeurs autorisées sont « Oui » ou « Non ». |
Activer la confirmation visuelle pour les visiteurs |
Oblige les invités à passer le test de vérification humaine afin d'empêcher la publication automatisée de messages. |
Autoriser la réponse rapide |
Cette option vous permet de désactiver le module de réponse rapide sur l'ensemble du forum. Si activé, les paramètres spécifiques de forum seront utilisés pour déterminer si la réponse rapide est affichée pour chacun des forums. Les valeurs autorisées sont « Oui » ou « Non ». |
Temps limite d'édition |
Ce paramètre permet de spécifier le temps pendant lequel un message reste modifiable par l'utilisateur qui a créé ce message. |
Limiter le temps de suppression |
Ce paramètre permet de spécifier le temps pendant lequel un message est supprimable par l'utilisateur qui a créé ce message. Si la valeur vaut 0, cette fonctionnalité est désactivée, il n'est pas possible pour un utilisateur de supprimer son message. |
Afficher la raison de la dernière édition |
Ce paramètre permet de choisir si l'information sur la date de la dernière édition doit être affichée ou non dans les messages. Les valeurs autorisées sont « Oui » ou « Non ». |
Intervalle de flood |
Nombre de secondes qu'un utilisateur doit patienter entre la publication de nouveaux messages. Pour autoriser les utilisateurs à ignorer cela, il faut modifier leurs permissions. |
Intervalle de remontée de sujet |
Ce paramètre spécifie le nombre des minutes, d'heures, ou de jours entre la date du dernier message et la possibilité de remonter le sujet. Si la valeur de ce paramètre vaut “0”, cette fonctionnalité est désactivée. |
Sujets par page |
Ce paramètre permet de spécifier le nombre de sujets qui seront affichés sur une page du forum. |
Messages par page |
Ce paramètre permet de spécifier le nombre de réponses qui seront affichées pour un sujet particulier. |
Smileys par page |
Ce paramètre permet de spécifier le nombre maximal de smileys qui seront affichés sur une page. |
Seuil de popularité des sujets |
Ce paramètre spécifie le nombre de messages requis afin qu'un sujet soit affiché comme étant populaire. Si la valeur de ce paramètre vaut “0”, cette fonctionnalité est désactivée. |
Nombre maximal d'options de vote |
Ce paramètre permet de spécifier le nombre maximal de choix qu'un utilisateur peut positionner lors de la création d'un vote. |
Nombre maximal de caractères par message |
Ce paramètre permet de spécifier le nombre maximal de caractères dans un message. Si la valeur de ce paramètre vaut « 0 », cette fonctionnalité est désactivée et la taille du message n'est pas limitée. |
Nombre minimal de caractères par message |
Ce paramètre permet de spécifier le nombre minimal de caractères dans un message ou un message privé. |
Nombre maximal de smileys par message |
Ce paramètre permet de spécifier le nombre maximal de smileys dans un message. Si la valeur de ce paramètre vaut « 0 », cette fonctionnalité est désactivée et le nombre de smileys n'est pas limité. |
Nombre maximal de liens |
Ce paramètre permet de spécifier le nombre maximal de liens dans un message. Si la valeur de ce paramètre vaut « 0 », cette fonctionnalité est désactivée et il n'y a pas de limitation sur le nombre de liens. |
Taille maximale de la police |
Ce paramètre permet de spécifier la taille maximale de la police utilisable dans les messages. |
Nombre maximal de citations imbriquées |
Ce paramètre permet de spécifier le nombre maximal de citations imbriquées. Si ce nombre est trop élevé, cela peut nuire à la lisibilité des messages. |
Largeur maximale d'une image |
Ce paramètre permet de spécifier la largeur maximale d'un fichier image ou flash dans un message. Si la valeur de ce paramètre vaut « 0 », cette fonctionnalité est désactivée et il n'y a pas de limitation sur la largeur. |
Hauteur maximale d'une image |
Ce paramètre permet de spécifier la hauteur maximale d'un fichier image ou flash dans un message. Si la valeur de ce paramètre vaut « 0 », cette fonctionnalité est désactivée et il n'y a pas de limitation sur la hauteur. |
4-2. La page « Paramètres des inscriptions »▲
Cette page permet de positionner les valeurs des options concernant les demandes d'inscriptions des nouveaux utilisateurs. Cette page est accessible dans l'onglet « Général », il faut sélectionner l'option « Paramètres des inscriptions » dans le menu de gauche.
Les différents paramètres que vous pouvez modifier sont décrits dans le tableau suivant :
Paramètre |
Description |
---|---|
Activation de compte |
Cela détermine si les utilisateurs ont accès au forum immédiatement ou si une confirmation est requise. Vous pouvez également désactiver complètement les nouvelles inscriptions. “L'envoi d'e-mail” doit être autorisé afin de pouvoir choisir entre l'activation par l'utilisateur ou par l'administrateur. Les quatre valeurs possibles sont :
|
Limite de messages d'un nouveau membre |
Les nouveaux membres resteront dans le groupe « Nouveaux utilisateurs enregistrés » jusqu'à ce qu'ils atteignent un certain nombre de messages. Une fois ce nombre de messages atteint, ils passent automatiquement dans le groupe « Utilisateurs enregistrés ». |
Mettre le groupe des nouveaux utilisateurs enregistrés par défaut |
Si ce paramètre est activé, et qu'une limite de messages pour les nouveaux membres est indiquée, les nouveaux utilisateurs enregistrés ne seront pas simplement placés dans le groupe Nouveaux utilisateurs enregistrés, mais ce groupe deviendra également leur groupe par défaut. Cela peut s'avérer pratique si vous voulez assigner un rang et/ou un avatar de groupe par défaut afin que les utilisateurs en héritent. |
Longueur du nom d'utilisateur |
Ce champ définit le nombre minimal et maximal de caractères dans le nom d'utilisateur. |
Longueur du mot de passe |
Ce champ définit le nombre minimal et maximal de caractères dans le mot de passe de l'utilisateur. |
Limite des caractères du nom d'utilisateur |
Ce champ permet de restreindre les caractères qui peuvent être utilisés pour les noms d'utilisateur. |
Complexité du mot de passe |
Ce champ permet de définir la politique de complexité du mot de passe de l'utilisateur. Les politiques applicables sont :
|
Forcer la modification du mot de passe |
Ce champ permet de forcer tous les utilisateurs du forum à changer leur mot de passe après un certain nombre de jours. |
Autoriser les changements de nom d'utilisateur |
Ce champ permet d'autoriser les utilisateurs à modifier leur nom d'utilisateur. Les deux valeurs autorisées sont « oui » ou « non ». |
Autoriser les adresses e-mail à être réutilisées |
Ce champ permet d'autoriser à plusieurs utilisateurs de posséder la même adresse mail. Les deux valeurs autorisées sont « oui » ou « non ». |
Activer la confirmation visuelle pour les inscriptions |
Ce champ permet d'afficher un code visuel aléatoire (un CAPTCHA) que les nouveaux utilisateurs doivent ressaisir afin d'empêcher les inscriptions en masse. Les deux valeurs autorisées sont « oui » ou « non ». |
Nombre maximal de tentatives de connexion par nom d'utilisateur |
Ce champ permet de spécifier un nombre maximal d'erreurs de connexion d'un utilisateur. Lorsque ce nombre est atteint, en plus du mot de passe, il sera demandé de ressaisir un code visuel aléatoire (un CAPTCHA). |
Tentatives d'inscription |
Ce champ permet de spécifier le nombre maximal d'erreurs de connexion d'un utilisateur avant que sa session HTTP n'expire. |
Activer la COPPA |
Cela oblige les utilisateurs à déclarer qu'ils ont treize ans ou plus afin d'être en conformité avec la COPPA (Children's Online Privacy Protection Act). Si cette option n'est pas activée, le groupe spécial COPPA ne sera pas affiché. |
Adresse e-mail COPPA |
Ce champ permet de saisir l'adresse e-mail où les parents pourront envoyer les formulaires d'inscription COPPA. |
Numéro de fax COPPA |
Ce champ permet de saisir le numéro de fax où les parents pourront envoyer les formulaires d'inscription COPPA. |
4-3. La page « Paramètres de la confirmation visuelle »▲
Cette page permet de positionner les valeurs des options concernant la confirmation visuelle, le CAPTCHA. Cette page est accessible dans l'onglet « Général », il faut sélectionner l'option « Paramètres de la confirmation visuelle » dans le menu de gauche.
Le terme « CAPTCHA » est un rétroacronyme : le mot se prononce comme capture en anglais américain et est censé être composé des initiales de Completely Automated Public Turing test to Tell Computers and Humans Apart, soit en français, « test public de Turing complètement automatique ayant pour but de différencier les humains des ordinateurs ». Ce terme, qui est une marque déposée par l'université Carnegie Mellon, a été inventé en 2000 par Luis von Ahn, Manuel Blum et Nicholas J. Hopper de cette université, et par John Langford d'IBM. Le nom « CAPTCHA » peut également être interprété comme « capture character » (capture de caractères).
Ce test est utilisé sur Internet dans les formulaires pour se prémunir contre les soumissions automatisées et intensives réalisées par des robots malveillants.
La vérification utilise la capacité d'analyse d'image ou de son de l'être humain. Un CAPTCHA usuel requiert ainsi que l'utilisateur tape les lettres et les chiffres visibles sur une image distordue qui apparaît à l'écran. Certains sites Web préfèrent afficher une image qui contient une question mathématique.
Ils sont utilisés :
-
contre le spam :
- lors de l'inscription à des webmails gratuits (dont les comptes pourraient être utilisés par la suite pour l'envoi de courriers non sollicités),
- lors de la soumission de messages dans des forums de discussion et des blogs (qui pourraient permettre de faire du référencement abusif), etc. ;
- contre l'extraction automatisée de bases de données ;
- contre les tentatives d'attaque par force brute ;
- pour la participation à des sondages (dont les résultats pourraient être faussés par des votes automatisés).
Les différents paramètres que vous pouvez modifier sont décrits dans le tableau suivant :
Paramètre |
Description |
---|---|
Activer la confirmation visuelle pour les inscriptions |
Ce paramètre oblige les nouveaux utilisateurs à saisir un code aléatoire correspondant à une image afin d'empêcher les inscriptions en masse. |
Tentatives d'inscription |
Ce paramètre spécifie le nombre de tentatives que les utilisateurs pourront faire dans la saisie du code de confirmation avant que leur session n'expire. |
Nombre maximal de tentatives de connexion par nom d'utilisateur |
Ce paramètre spécifie le nombre maximal de tentatives de connexion autorisé par nom d'utilisateur avant d'activer la confirmation visuelle. |
Activer la confirmation visuelle pour les visiteurs |
Ce paramètre oblige les invités à passer le test de vérification humaine afin d'empêcher la publication automatisée de messages. |
Autoriser les utilisateurs à rafraîchir l'image de confirmation |
Ce paramètre autorise les utilisateurs à demander de nouveaux codes de confirmation s'ils sont incapables de déchiffrer la confirmation visuelle durant l'inscription. Certains plugins peuvent ne pas supporter cette option. |
Plugins installés |
Ce paramètre permet de sélectionner parmi la liste des plugins disponibles, le plugin de génération du CAPTCHA. |
5. Implémentation de la politique du forum▲
Voilà, maintenant, vous connaissez la politique que vous voulez appliquer à votre forum (enfin plutôt les politiques) et vous connaissez les différents paramètres avec lesquels vous allez pouvoir implémenter cette politique.
Comme chaque politique est particulière et répond à un besoin précis, il n'y a aucune généralisation possible, ce paragraphe va donc présenter, à titre d'exemple, la politique mise en place sur mon forum (sans pour autant la justifier).
5-1. La page « Paramètre des messages »▲
Les paramètres des messages sont les suivants :
Paramètre |
Valeur |
---|---|
Autoriser la surveillance des sujets |
Oui |
Autoriser la surveillance des forums |
Oui |
Autoriser les BBCode |
Oui |
Autoriser l'utilisation du BBCode [FLASH] dans les messages |
Oui |
Autoriser les smileys |
Oui |
Autoriser les liens dans les messages et messages privés |
Oui |
Autoriser la désactivation de la censure |
Non |
Autoriser la mise en favoris des sujets |
Oui |
Activer la confirmation visuelle pour les visiteurs |
Oui |
Autoriser la réponse rapide |
Oui |
Temps limite d'édition |
0 minute |
Limiter le temps de suppression |
0 minute |
Afficher la raison de la dernière édition |
Oui |
Intervalle de flood |
120 secondes |
Intervalle de remontée de sujet |
10 jours |
Sujets par page |
25 |
Messages par page |
10 |
Smileys par page |
50 |
Seuil de popularité des sujets |
25 |
Nombre maximal d'options de vote |
10 |
Nombre maximal de caractères par message |
60000 |
Nombre minimal de caractères par message |
1 |
Nombre maximal de smileys par message |
0 |
Nombre maximal de liens |
0 |
Taille maximale de la police |
200% |
Nombre maximal de citations imbriquées |
3 |
Largeur maximale d'une image |
0 |
Hauteur maximale d'une image |
0 |
5-2. La page « Paramètres des inscriptions »▲
Les paramètres des inscriptions sont les suivants :
Paramètre |
Valeur |
---|---|
Activation de compte |
Par l'utilisateur |
Limite de messages d'un nouveau membre |
0 |
Mettre le groupe des nouveaux utilisateurs enregistrés par défaut |
Non |
Longueur du nom d'utilisateur |
Entre 3 et 20 |
Longueur du mot de passe |
Entre 6 et 100 |
Limite des caractères du nom d'utilisateur |
N'importe quel caractère |
Complexité du mot de passe |
Aucune condition |
Forcer la modification du mot de passe |
0 jour |
Autoriser les changements de nom d'utilisateur |
Non |
Autoriser les adresses e-mail à être réutilisées |
Non |
Activer la confirmation visuelle pour les inscriptions |
Oui |
Nombre maximal de tentatives de connexion par nom d'utilisateur |
3 |
Tentatives d'inscription |
5 |
Activer la COPPA |
Non |
Adresse e-mail COPPA |
Vide |
Numéro de fax COPPA |
Vide |
5-3. La page « Paramètres de la confirmation visuelle »▲
Les paramètres de la confirmation visuelle sont les suivants :
Paramètre |
Valeur |
---|---|
Activer la confirmation visuelle pour les inscriptions |
Activé |
Tentatives d'inscription |
5 |
Nombre maximal de tentatives de connexion par nom d'utilisateur |
3 |
Activer la confirmation visuelle pour les visiteurs |
Activé |
Autoriser les utilisateurs à rafraîchir l'image de confirmation |
Activé |
Plugins installés |
Image simple |
5-4. Le bannissement▲
Avec l'arrivée des premiers utilisateurs, il a fallu réfléchir à la politique de bannissement à appliquer aux différents utilisateurs qui ne respectaient pas les règles. Ne voulant pas passer trop de temps à modérer ce forum, la politique que j'applique est assez autoritaire :
- les messages ne respectant pas la charte du forum sont effacés à vue. Pour l'instant les seuls messages que j'ai dû effacer sont des messages de publicité, je n'ai encore eu aucun débordement entre utilisateurs à gérer. Lorsque ce cas se présentera, il est probable que ces messages ne seront plus supprimés, mais modérés et modifiés ;
- lorsqu'un utilisateur poste un spam (vous savez, les petites pilules bleues ou la sex tape de la dernière actrice à la mode), ce message est supprimé et l'utilisateur est immédiatement banni. Je pense que ces utilisateurs (ou robots) ne peuvent pas rentrer dans le droit chemin, il est donc inutile de tenter de discuter avec eux.
Il est possible de bannir un utilisateur de différentes manières avec PhpBB3. Cela peut se faire :
- par son nom d'utilisateur ;
- par son adresse IP ;
- par son adresse mail.
Attention, le bannissement par adresse IP peut avoir des effets de bord. C'est une option à manipuler avec précautions sous peine de bannir d'autres utilisateurs :
- en effet, plusieurs utilisateurs peuvent avoir la même adresse IP, c'est le cas des utilisateurs d'une entreprise qui utilisent un proxy HTTP pour naviguer sur Internet. C'est aussi le cas des utilisateurs qui sont à la maison, ces utilisateurs utiliseront la même adresse IP, celle de la box d'accès à Internet ;
- lors du bannissement par adresse IP, il est aussi possible de spécifier une plage d'adresses IP. Ceci peut avoir des effets dévastateurs sur vos utilisateurs si vous ne maîtrisez pas correctement cette plage d'adresses à bannir (une faute de frappe est si vite arrivée).
Attention encore, le bannissement par adresse mail peut aussi avoir des effets de bord. C'est aussi une option à manipuler avec précautions sous peine de bannir d'autres utilisateurs :
- en effet, plusieurs utilisateurs peuvent avoir la même adresse mail si vous l'avez autorisé ;
- lors du bannissement par adresse mail, il est aussi possible de spécifier tout un domaine d'adresses mail avec une expression régulière. Ceci peut avoir des effets dévastateurs sur vos utilisateurs si vous ne maîtrisez pas correctement cette expression régulière, imaginez la catastrophe si vous bannissiez « *.gmail.com ».
La bonne nouvelle est qu'un bannissement d'utilisateur n'est pas un effacement d'utilisateur. Celui-ci est marqué comme « banni », avec pour conséquence qu'il ne peut plus se connecter, mais il reste possible de « débannir » cet utilisateur parce qu'il a fait amende honorable ou bien parce que vous vous êtes trompé.
Toujours dans les options de bannissement, il est possible de bannir un utilisateur pour une durée fixée (quelques heures, quelques jours, quelques mois) ou bien définitivement. C'est à vous, lors du bannissement, de choisir cette durée en fonction de votre politique, mais aussi en fonction de la faute commise.
Il est aussi possible de supprimer un utilisateur. L'effet d'une suppression est permanent, l'utilisateur ne peut pas être « désupprimé ». Cette option de suppression d'un utilisateur ne doit être utilisée que dans quelques cas particuliers, création d'un compte par erreur ou suppression d'un compte utilisé pour des tests par exemple. Elle ne doit pas être utilisée pour bannir un utilisateur, car sinon, celui-ci peut alors revenir avec le même nom.
5-5. Premiers retours d'expérience▲
La politique instanciée sur ce forum est somme toute assez souple :
- elle permet aux nouveaux utilisateurs de s'inscrire à condition de disposer d'une adresse mail. Cette inscription ne nécessite pas de confirmation par l'administrateur ;
- il y a un CAPTCHA à décoder lors de la phase d'inscription afin de se protéger un tout petit peu des différents robots spammer ;
- il est possible de lire tout le forum de manière anonyme ;
- pour poster, il faut être identifié et authentifié. Les messages ne sont pas validés par les modérateurs, ils sont visibles immédiatement.
Les nouveaux utilisateurs pouvaient s'inscrire, ils pouvaient poster des messages, j'avais un minimum de travail de modération, tout semblait correct dans le meilleur des mondes.
Puis les spammers ont commencé à arriver et mon travail de modération devenait plus volumineux entre les messages à supprimer et les utilisateurs à bannir. Bannir des adresses mail ou des domaines entiers ne suffisait plus et puis je ne pouvais pas bannir « *.gmail.com », plus personne ne serait venu.
Pour contrer les rafales de messages, j'ai augmenté la valeur du paramètre « Intervalle de flood » que j'ai positionné à 120 secondes. C'est-à-dire qu'un utilisateur ne peut poster un nouveau message ou répondre à un message que toutes les deux minutes seulement. Ce paramètre apporte une aide indéniable pour empêcher les rafales de messages, mais les spammers continuaient à venir et à poster ne serait-ce qu'un seul message.
Les CAPTCHA semblaient être décodés par les différents spammers. Je ne sais pas s'ils étaient décodés de manière automatisée ou alors par un humain. Il aurait peut-être fallu augmenter la complexité du CAPTCHA proposé, mais, ayant moi-même du mal à décoder ces CAPTCHA plus complexes, je ne voulais pas l'imposer aux utilisateurs.
6. Êtes-vous un robot ?▲
Il fallait donc retravailler sur la phase d'inscription pour écarter les robots. Et si on leur posait tout simplement la question « êtes-vous un robot ? » pour écarter ces importuns ?
6-1. L'idée de base▲
Pour contrer les robots spammer, il est nécessaire de comprendre comment ils fonctionnent.
Un robot de forum connaît parfaitement le fonctionnement du forum sur lequel il sévit. phpBB3 étant un forum très connu, les robots ont tout ce qu'il faut pour s'entraîner.
Le but est alors de proposer un comportement par défaut qui est légèrement différent afin que les robots soient perturbés. L'idée est, lors de la phase d'inscription, de poser une question dont la réponse par défaut est fausse. Ainsi, une personne humaine pourra répondre à la question alors qu'un robot va proposer la réponse par défaut lors de l'inscription et sera donc rejeté.
La question à poser est très simple, il peut s'agir de « Êtes-vous un robot ? » avec comme réponse une liste de choix « oui » ou « non » (le choix « oui » étant proposé par défaut) ou alors une question très bête dans le genre « combien font 2 + 2 ? » avec comme réponse une liste de choix « 3 » ou « 4 » (le choix « 3 » étant proposé par défaut).
L'idée était là, il ne restait plus qu'à l'implémenter.
6-2. La page « Champs de profil personnalisés »▲
Dans phpBB3, cela se passe sur la page « Champs de profil personnalisés ». Cette page est accessible dans l'onglet « Utilisateurs et groupes », il faut sélectionner l'option « Champs de profil personnalisés » dans le menu de gauche.
Un champ personnalisé permet de rajouter un attribut à un utilisateur par exemple, le champ « Profession » ou « Ville ». C'est un champ personnalisé qui va nous aider dans notre lutte contre les robots spammer.
Pour créer un nouveau champ, il faut suivre la démarche suivante :
- saisir le nom du champ (anti_robot par exemple) ;
- saisir le type de ce champ parmi la liste des types proposés. Le type à sélectionner est « Liste déroulante » ;
- appuyer sur le bouton « Créer un nouveau champ ». Cette action affiche une page dans laquelle vous pouvez modifier les paramètres de ce champ.
Les différents paramètres que vous pouvez modifier sont décrits dans le tableau suivant :
Paramètre |
Description |
---|---|
Type de champ |
Ce paramètre n'est plus modifiable. Si les actions précédentes ont été correctement faites, il doit s'afficher « Liste déroulante ». |
Identification du champ |
L'identification du champ est un nom qui vous permet d'identifier le champ de profil dans la base de données et les thèmes. |
Afficher publiquement le champ de profil |
Le champ de profil sera visible dans tous les endroits autorisés dans les paramètres de charge. Régler cela sur « Non » masquera le champ des pages de sujets, des profils et de la liste des membres. |
Afficher dans le panneau de l'utilisateur |
L'utilisateur peut modifier ce champ de profil dans le panneau de l'utilisateur. |
Afficher sur l'écran d'inscription |
Si cette option est activée, le champ sera affiché à l'inscription. |
Afficher dans les sujets |
Si cette option est activée, le champ sera affiché dans le miniprofil des sujets. |
Champ obligatoire |
Oblige l'utilisateur ou les administrateurs à remplir ou à préciser le champ. Si l'option d'affichage sur l'écran d'inscription est désactivée, le champ sera seulement requis lorsque l'utilisateur éditera son profil. |
Masquer le champ de profil |
Masque le champ de profil à tous les autres utilisateurs mis à part à l'utilisateur concerné, aux administrateurs et aux modérateurs qui pourront toujours voir ce champ. Si l'option d'affichage dans le panneau de l'utilisateur est désactivée, l'utilisateur ne pourra pas voir ou modifier ce champ, seuls les administrateurs le pourront. |
Nom/titre du champ affiché à l'utilisateur |
Le nom ou le titre du champ. |
Description du champ |
L'explication du champ sera présentée à l'utilisateur. |
Entrées |
Notez que vous pouvez modifier le texte de vos options et ajouter de nouvelles options en fin de liste. Il est déconseillé d'insérer de nouvelles options entre celles existantes - cela pourrait entraîner l'attribution d'options erronées à vos utilisateurs. Ceci peut également se produire si vous supprimez des options parmi d'autres. La suppression d'options à partir de la fin pourrait avoir comme conséquence une mauvaise redirection des utilisateurs sur un article. |
Il y a aussi des options particulières pour le champ, ces options sont modifiables en cliquant sur le bouton « Options particulières du type de profil ».
Ces options particulières sont :
Paramètre |
Description |
---|---|
Valeur par défaut |
Ce paramètre permet de spécifier la valeur par défaut du champ. |
Option égale à la valeur de non-saisie |
Valeur de non-saisie. Si le champ est obligatoire, une erreur est affichée lorsque cette valeur est saisie par l'utilisateur. |
6-3. Le champ « anti_robot »▲
Les valeurs que j'ai positionnées dans le champ « anti_robot » sont les suivantes :
Paramètre |
Valeur |
---|---|
Type de champ |
Liste déroulante |
Identification du champ |
anti_robot |
Afficher publiquement le champ de profil |
Non |
Afficher dans le panneau de l'utilisateur |
Décoché |
Afficher sur l'écran d'inscription |
Coché |
Afficher dans les sujets |
Décoché |
Champ obligatoire |
Coché |
Masquer le champ de profil |
Coché |
Nom/titre du champ affiché à l'utilisateur |
Êtes-vous un robot ? |
Description du champ |
Champ obligatoire pour détecter les robots. |
Entrées |
OUI |
Les options particulières positionnées sont les suivantes :
Paramètre |
Valeur |
---|---|
Valeur par défaut |
OUI |
Option égale à la valeur de non-saisie |
OUI |
Ainsi, lors de l'inscription sur le forum, un nouvel utilisateur se verra poser la question « Êtes-vous un robot ? » dont la réponse par défaut est « OUI ». Pour pouvoir s'enregistrer, l'utilisateur devra sélectionner la valeur « NON » dans la liste déroulante des réponses possibles. Un robot, ne sachant pas que ce champ existe se verra refoulé et, ainsi, restera aux portes du forum.
7. Conclusions▲
Au début, je pensais que mon forum était protégé des robots spammer du fait du CAPTCHA qu'il est nécessaire de décoder pour procéder à l'inscription. Il faut croire que les robots sont maintenant capables de décoder ce CAPTCHA facilement ou alors qu'ils sont aidés par des personnes de manière automatisée dans cette tâche de décodage.
Auparavant, j'avais environ cinq ou six robots spammer par jour qui s'inscrivaient sur le forum. Depuis l'application de cette modification et l'ajout de la question « Êtes-vous un robot ? », je n'en ai plus. Bien sûr, cela ne décourage pas les spammers humains et il ne faut pas pour autant abandonner la tâche de modération.
Je ne me fais pas d'illusion non plus, les robots deviendront plus intelligents et ils reviendront sur le forum. À ce moment, je modifierai le nom du champ ou bien je rajouterai un autre champ avec plusieurs réponses dans la liste des choix possibles et la bonne réponse sera noyée dans cette liste de choix.
En attendant leur retour, la tâche de modération du forum est allégée et je peux me consacrer pleinement au contenu du forum.
7-1. Sources d'inspiration▲
Le contenu du chapitre 2 est directement issu de cet article.
7-2. Remerciements▲
Je tiens à remercier Torgar pour l'aide qu'il m'a apportée lors de la rédaction ce document.
Je tiens à remercier ClaudeLELOUP et son œil acéré pour l'aide qu'il m'a apportée lors de la relecture de ce document.