Utiliser la censure de mot pour bloquer les spams

Pour discuter de phpBB3 - Pas de support sur cette section !
Pour du support veuillez vous rendre sur la section de support

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

Attention, aucun support n'est donné dans cette section.

Utiliser la censure de mot pour bloquer les spams

Messagepar JosephK » 05 Fév 2011 à 15:02

Je vous fais part ici d'une petite modification bien utile qui permet de se servir de la "Censure de mot" (qui normalement sert à remplacer un mot par un autre) comme outil de lutte contre le spam.

Le principe est d'utiliser un unique mot clé de remplacement qui va permet à phpbb de détecter s'il s'agit d'un mot banni ou pas et ainsi d'empêcher le robot spammeur de poster.
Par exemple le robot veut vendre différentes pilules, dans l'acp > publication > censure de mots on ajoute un filtre sur les mots viagra et drugs et on passe le mot ***spam*** comme mot de remplacement pour chaque mot. (A priori personne, mis à part moi ici, n'est susceptible de taper spontanément ***spam*** avec autant d'étoiles dans une phrase ;) ).

Modifiez ensuite le fichier posting.php pour détecter avant la publication la présence ou non du mot ***spam*** dans la version "censurée" du message : cherchez la ligne qui commence par
Code: Tout sélectionner
$message_parser->parse(

et ajoutez avant :
Code: Tout sélectionner
if (preg_match('/(\*\*\*spam\*\*\*)/i', censor_text($message_parser->message))) // Cherche le mot ***spam*** dans la version censuree du message
{
	$error[] = "Votre message contient un mot clé utilisé par les robots spammeurs. Veuillez le reformuler.";
}


Après ça les tentatives pour placer les mots viagra et drugs seront avortées pour tout les utilisateurs qui n'ont pas la permission de contourner la censure de mot. À vous ensuite d'ajouter autant de mots que vous le souhaitez et avec ou sans joker... ça marche très bien ;) . Sur Framagora on a, par exemple, carrément bloqué un caractère de l'alphabet cyrillique *д* pour ne plus voir apparaître de messages en russe.

La censure de mot dans son usage habituel continuera de fonctionner normalement avec tout autre mot de remplacement que le mot ***spam***.
Modifié en dernier par JosephK le 28 Fév 2012 à 21:57, modifié 2 fois.
JosephK
Posteur néophyte
Posteur néophyte
 
Messages: 3
Enregistré le: 05 Fév 2011 à 14:15

Re: Utiliser la censure de mot pour bloquer les spams

Messagepar lolovoisin » 05 Fév 2011 à 15:16

bonjour,

et bien merci pour l'astuce qui n'a pas l'air mal effectivement ;)
Ceux qui échouent trouvent des excuses, ceux qui réussissent trouvent les moyens
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
PAS DE SUPPORT PAR MP !!

tutophpbb3 + astuce + tutos debian
Avatar de l’utilisateur
lolovoisin
Rugbix ³
Rugbix ³
 
Messages: 39787
Enregistré le: 04 Mai 2006 à 12:16
Localisation: Dans la BDD ...

Re: Utiliser la censure de mot pour bloquer les spams

Messagepar quoidebon » 24 Juil 2011 à 11:23

Merci pour cette astuce très efficace ! Je n'arrivais pas à me débarasser du spam, mais avec cette méthode, je filtre tous les messages indésirables. Pour éviter les messages en anglais, j'ai censuré un mot courant anglais qui apparait régulièrement.
Bon appétit sur Quoi de bon ! http://www.quoidebon.com
quoidebon
Posteur néophyte
Posteur néophyte
 
Messages: 3
Enregistré le: 24 Juil 2011 à 11:17


Retourner vers Discussions sur phpBB3

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité