Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Bonjour,
Beaucoup de monde parle de " StopForumSpam" mais je n'ai pas compris comment l'installer.
S'agit il d'un mod ? ou un logiciel à installer directement depuis le serveur ?
Merci pour votre aide
Hors ligne
Bonjour,
Relire toute cette discussion depuis le début et vous aurez les réponses.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
+1
des clients m'ont demandé de leur supprimer.
c'est bien dommage
Hors ligne
Cela arrive aussi sur mon forum, et même avec VSABR, rien à faire. La solution que j'ai trouvée consiste à utiliser la base de données de StopForumSpam, ce qui semble assez efficace pour le moment. L'avantage de cette solution est qu'elle est totalement transparente pour l'utilisateur légitime: aucune information supplémentaire tel un captcha ne lui est demandée.
Pour ce faire, rajoutez cette fonction à la fin de votre include/functions.php: (trouvée ici)
function CheckIfSpambot($emailAddress, $ipAddress, $userName, $debug = false) { // ********************************* // Code originally written by Smurf_Minions (http://guildwarsholland.nl/) // Original Source: http://guildwarsholland.nl/phphulp/testspambot.php // // Modified by Brendan Erskine (http://sysadminspot.com/) // Last Modified: 8 May 2010 // Revision Number: 2.0 // ********************************* // Initiate and declare spambot/errorDetected as false - as we're just getting started $spambot = false; $errorDetected = false; // ------------- // Check email address // ------------- if ($emailAddress != "") { $xml_string = file_get_contents("http://www.stopforumspam.com/api?email=" . urlencode($emailAddress)); $xml = new SimpleXMLElement($xml_string); if ($xml->appears == "yes") // Was the result was registered { $spambot = true; // Check failed. Result indicates dangerous. } elseif ($xml->appears == "no") // Check passed. Result returned safe. { $spambot = false; // Check passed. Result returned safe. } else { $errorDetected = true; // Test returned neither positive or negative result. Service might be down? } } // ------------- // Check IP Address // ------------- if ($spambot != true && $ipAddress != "") { $xml_string = file_get_contents("http://www.stopforumspam.com/api?ip=" . urlencode($ipAddress)); $xml = new SimpleXMLElement($xml_string); if ($xml->appears == "yes") // Was the result was registered { $spambot = true; // Check failed. Result indicates dangerous. } elseif ($xml->appears == "no") // Check passed. Result returned safe. { $spambot = false; // Check passed. Result returned safe. } else { $errorDetected = true; // Test returned neither positive or negative result. Service might be down? } } // ------------- // Check Username // ------------- if ($spambot != true && $userName != "") { $xml_string = file_get_contents("http://www.stopforumspam.com/api?username=" . urlencode($userName)); $xml = new SimpleXMLElement($xml_string); if ($xml->appears == "yes") // Was the result was registered { $spambot = true; // Check failed. Result indicates dangerous. } elseif ($xml->appears == "no") // Check passed. Result returned safe. { $spambot = false; // Check passed. Result returned safe. } else { $errorDetected = true; // Test returned neither positive or negative result. Service might be down? } } // To debug function, call it with the debug flag as true and instead the function will return whether or not an error was detected, rather than the test result. if ($debug == true) { return $errorDetected; // If enabled, return whether or not an error was detected } else { return $spambot; // Return test results as either true/false or 1/0 } }Dans le register.php, avant
// Did everything go according to plan? if (empty($errors)) {ajoutez
$bot_check = CheckIfSpambot($email1, get_remote_address(), $username); if ($bot_check == true) message('Vous êtes un bot :-)');Je ferai peut-être une mod plus propre si j'ai le temps et l'envie
.
Merci pour cette brillante modif adaur !
par contre j'ai une petite question a ce sujet.
Comment peut on faire (avec le même principe bien sûre) pour bloquer du coup l'accès aux robots étant déjà inscrits sur le forum ?
Je pense qu'il faudrait faire un contrôle après le login ou dans une page qui est tout le temps appelé mais où exactement je n'en sais rien...
Dernière modification par barbuslex (27-08-2012 14:31:02)
Hors ligne
Bonjour,
Requête à exécuter dans PhpMyAdmin (Ou autre gestionnaire de la base de données) pour supprimer les utilisateurs qui répondent aux critères suivants :
Date de dernière visite = date d'inscription
Inscrits depuis plus de 12 mois
N'ayant jamais posté le moindre message
DELETE FROM fluxbb_users WHERE registered = last_visit AND registered < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 12 MONTH)) AND group_id > 3' AND num_posts = 0Vous pouvez modifier l'ancienneté en remplaçant :
INTERVAL 12 MONTH par INTERVAL 1 MONTH ou même par INTERVAL 1 WEEK ou plus sévère, par INTERVAL 1 DAY
Nota : jamais de S à MONTH, WEEK et DAY même s'il y en a plusieurs !
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
On a choisi de télécharger les listes quotidiennes d'IP et d'adresses mail disponibles ici (listed_1_ip et listed_1_email), par un cron toutes les heures. Ce sont des fichiers texte avec une IP ou email par ligne.
Et on a refait la fonction CheckIfSpambot pour comparer l'IP et le mail de la nouvelle inscription avec ces blacklists locales.
Salut,
Un p'tit partage de la soluce ? 
Ça m’intéresse grandement et je ne pense pas être le seul 
Hors ligne
@Oto... : Ok mais dans ta méthode tu risque de passer a la trappe des vrai membres...
Hors ligne
Cela arrive aussi sur mon forum, et même avec VSABR, rien à faire. La solution que j'ai trouvée consiste à utiliser la base de données de StopForumSpam, ce qui semble assez efficace pour le moment. L'avantage de cette solution est qu'elle est totalement transparente pour l'utilisateur légitime: aucune information supplémentaire tel un captcha ne lui est demandée.
Pour ce faire, rajoutez cette fonction à la fin de votre include/functions.php: (trouvée ici)
function CheckIfSpambot($emailAddress, $ipAddress, $userName, $debug = false) { // ********************************* // Code originally written by Smurf_Minions (http://guildwarsholland.nl/) // Original Source: http://guildwarsholland.nl/phphulp/testspambot.php // // Modified by Brendan Erskine (http://sysadminspot.com/) // Last Modified: 8 May 2010 // Revision Number: 2.0 // ********************************* // Initiate and declare spambot/errorDetected as false - as we're just getting started $spambot = false; $errorDetected = false; // ------------- // Check email address // ------------- if ($emailAddress != "") { $xml_string = file_get_contents("http://www.stopforumspam.com/api?email=" . urlencode($emailAddress)); $xml = new SimpleXMLElement($xml_string); if ($xml->appears == "yes") // Was the result was registered { $spambot = true; // Check failed. Result indicates dangerous. } elseif ($xml->appears == "no") // Check passed. Result returned safe. { $spambot = false; // Check passed. Result returned safe. } else { $errorDetected = true; // Test returned neither positive or negative result. Service might be down? } } // ------------- // Check IP Address // ------------- if ($spambot != true && $ipAddress != "") { $xml_string = file_get_contents("http://www.stopforumspam.com/api?ip=" . urlencode($ipAddress)); $xml = new SimpleXMLElement($xml_string); if ($xml->appears == "yes") // Was the result was registered { $spambot = true; // Check failed. Result indicates dangerous. } elseif ($xml->appears == "no") // Check passed. Result returned safe. { $spambot = false; // Check passed. Result returned safe. } else { $errorDetected = true; // Test returned neither positive or negative result. Service might be down? } } // ------------- // Check Username // ------------- if ($spambot != true && $userName != "") { $xml_string = file_get_contents("http://www.stopforumspam.com/api?username=" . urlencode($userName)); $xml = new SimpleXMLElement($xml_string); if ($xml->appears == "yes") // Was the result was registered { $spambot = true; // Check failed. Result indicates dangerous. } elseif ($xml->appears == "no") // Check passed. Result returned safe. { $spambot = false; // Check passed. Result returned safe. } else { $errorDetected = true; // Test returned neither positive or negative result. Service might be down? } } // To debug function, call it with the debug flag as true and instead the function will return whether or not an error was detected, rather than the test result. if ($debug == true) { return $errorDetected; // If enabled, return whether or not an error was detected } else { return $spambot; // Return test results as either true/false or 1/0 } }Dans le register.php, avant
// Did everything go according to plan? if (empty($errors)) {ajoutez
$bot_check = CheckIfSpambot($email1, get_remote_address(), $username); if ($bot_check == true) message('Vous êtes un bot :-)');Je ferai peut-être une mod plus propre si j'ai le temps et l'envie
.
merci pour ces indications
je viens de le mettre en place car j'étais moi aussi envahi.
Hors ligne
@Oto... : Ok mais dans ta méthode tu risque de passer a la trappe des vrai membres...
Bonjour,
Oh ! Eh ! la personne qui s'est inscrite et n'est jamais revenue depuis son inscription il y a 12 mois, ne peut pas être considérée comme un vrai membre.
Relis un peu la requête : date/heure inscription = date/heure dernière visite.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
A oué exact j'avais pas défilé jusqu'au num_posts = 0 lol
Sinon comment font il pour arriver a s'inscrire sur mon site sachant que j'ai mis en place le reCaptcha Google lors de l'inscription ?
Hors ligne
Sinon comment font il pour arriver a s'inscrire sur mon site sachant que j'ai mis en place le reCaptcha Google lors de l'inscription ?
Il est possible qu'il ne s'agisse pas de bots mais de gens payés au message posté, toute protection anti-robot est donc de fait inutile...
Hors ligne
A oué surement alors... la sécurité de fluxbb n'est donc pas a remettre en cause alors 
reCaptcha
Hors ligne
Bonjour,
+1 pour StopForumSpam
@+
Alexis
Hors ligne
Il est possible qu'il ne s'agisse pas de bots mais de gens payés au message posté, toute protection anti-robot est donc de fait inutile...
J'ai plusieurs forums et je retrouve pseudo et texte identique, je pense qu'il y a une boucle qui envoie à une liste d'url de forums.
j'ai banni le domaine gmail.com et j'ai un fort ralentissement. Mais si je bannis tout, il ne restera rien
Hors ligne
Salut,
Un p'tit partage de la soluce ?
Ça m’intéresse grandement et je ne pense pas être le seul
Je me suis basé sur la solution donnée en page 1, mais j'ai modifié la fonction et l'appel (j'ai laissé tomber la vérification du pseudo, c'est surtout les IP et les adresses mail qu'il faut vérifier).
La fonction à ajouter à la fin du fichier /include/functions.php devient donc :
function CheckIfSpambot($emailAddress, $ipAddress)
{
// *********************************
// Code originally written by Smurf_Minions (http://guildwarsholland.nl/)
// Original Source: http://guildwarsholland.nl/phphulp/testspambot.php
//
// Modified by Xabilon
// Last Modified: 22 August 2012
// Revision Number: 2.0
// *********************************
// Initiate and declare spambot/errorDetected as false - as we're just getting started
$spambot = false;
// -------------
// Check email address
// -------------
if ($emailAddress != "" && is_file('/var/tmp/listed_email_1.txt'))
{
$blacklistmail = @fopen('/var/tmp/listed_email_1.txt', 'rt');
while (!feof($blacklistmail) && !$spambot)
{
$line = fgets($blacklistmail);
if (stristr($line, $emailAddress))
$spambot = true;
}
fclose($blacklistmail);
}
// -------------
// Check IP Address
// -------------
if ($spambot != true && $ipAddress != "" && is_file('/var/tmp/listed_ip_1.txt'))
{
$blacklistip = @fopen('/var/tmp/listed_ip_1.txt', 'rt');
while (!feof($blacklistip) && !$spambot)
{
$line = fgets($blacklistip);
if (stristr($line, $ipAddress))
$spambot = true;
}
fclose($blacklistip);
}
return $spambot; // Return test results as either true/false or 1/0
}Le code à mettre dans register.php, juste avant "//Did everything go according to plan ?" :
// Vérification StopForumSpam
$bot_check = CheckIfSpambot($email1, get_remote_address());
if ($bot_check == true)
message ('Vous avez été répertorié comme spammeur, votre inscription est donc refusée.');Les listes sont donc téléchargées et dézippées dans /var/tmp (simples wget et unzip)
On a pris les listes mises à jour toutes les heures, donc on les télécharge toutes les heures, la nouvelle remplaçant la précédente.
Les avantages sont la rapidité de la vérification (tout se passe en local), et on ne communique pas les ip et mails des inscrits à un site tiers (même si, comme je l'ai dit, StopForumSpam a l'air d'être un site de confiance)
L'inconvénient est qu'Il y en a encore qui réussissent à passer, vu la latence max de 2 heures (le spam est répertorié sur StopForumSpam, puis mis sur la liste, puis le liste téléchargée), mais ça a réduit le spam de 95%
Dernière modification par xabilon (29-08-2012 02:53:47)
Hors ligne
Ah super ! Merci Xabilon 
Mes forums ayant peu d'inscriptions je vais voir si je peux faire la mise à jour au moment de celle-ci 
Hors ligne
Et bannir les ip me gêne un peu car ils ont a priori détourné quelques dédibox bien de chez nous.
Bonjour,
Envoyé à abuse@ovh.net :
Bonjour Abuse,
IP :
37.59.48.227
37.59.71.171
37.59.151.188
37.59.173.124
87.98.134.243
87.98.156.173
87.98.185.219
87.98.242.217
91.121.156.224
94.23.12.115
176.31.78.128
178.33.44.75
188.165.247.10
Déjà signalées comme envoyant du SPAM sur mes forums.
IP PIRATÉES. Agissez.
Si ça continue et que vous ne faites rien, je vais verrouiller la totalité des IP du plus grand hébergeur spammeur de France et le faire savoir sur les forums idoines.
La liste des IP en provenance d'OVH et spammant à tout va, comprend (Pour le moment) 57 IP ci-dessous (Bloquées sur notre forum). Liste sur quatre lignes car le champ IP des bannissement est limité à 255 caractères :
5.135.35.181 5.135.35.23 176.31.112.158 176.31.33.96 87.98.217.148 188.165.122.0 5.39.126.0 5.39.126.7 178.32.84.78 188.165.195.6 178.32.59.53 91.121.237.46 37.59.41.110 176.31.233.147 87.98.217.37 94.23.66.197 5.135.27.128 37.59.151.188
87.98.178.204 188.165.52.149 5.135.16.80 91.121.123.140 188.165.193.122 176.31.231.62 46.105.123.81 37.59.41.56 87.98.231.3 91.121.132.12 178.33.228.39 91.121.236.40 91.121.134.163 5.39.103.208 213.186.33.0 91.121.137.58 46.105.123.158
5.135.19.214 5.39.59.134 37.59.85.106 37.59.149.212 37.59.172.223 46.166.144.127 91.121.45.20 176.31.64.176 188.165.230.187 46.166.144.0 46.105.173.64 37.59.173.124 188.165.247.10 94.23.12.115 37.59.48.227 87.98.134.243 87.98.185.219
176.31.78.128 91.121.156.224 87.98.242.217 87.98.156.173 37.59.71.171Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Mes forums ayant peu d'inscriptions je vais voir si je peux faire la mise à jour au moment de celle-ci
Si tu as moins de 24 inscriptions/jour (spammeurs compris), c'est jouable. Sinon, StopForumSpam limite le téléchargement des listes horaires à 24 fois/jour/IP
Hors ligne
Bonjour,
Aujourd'hui, sur ce forum, sont bannies 3368 groupes d'IP représentant 103 179 946 IP soit 1,8% de toutes les IP (IPv4) de la planète.
Entre le début de cette enfilade le 19 août, où quasiment aucune IP n'était bloquée et aujourd'hui, nous sommes passé de 70 inscriptions bidons par jour (SPAM) à moins de 5 et les inscriptions non vérifiées sont passées de 35 par jour à moins de 8.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
En tout cas la méthode de adaur les a calmés lol car je n'ai plus aucune inscription frauduleuse sur mon site lol
Hors ligne
Merci Otomatic pour ton script avec ip
Hors ligne
La technique d'adaur fonctionne t elle pour la version 1.2.24 de fluxBB, sachant que je suis en php 4 ,
merci
Hors ligne
Bonjour,
Il faut peut-être l'adapter à FluxBB 1.2.24 (L'ajout dans fonction est bon) pour ce qui est de l'endroit où ajouter l'appel dans register.php, mais le principe reste le même.
Quant à savoir si ça fonctionne sous PHP 4... il faut juste essayer. Il m'est impossible de remettre un PHP 4 sur mon serveur local pour vérifier. Il va, quand même, falloir songer à évoluer, PHP 4 n'est plus supporté depuis belle lurette et présente des failles. Il faut passer à PHP 5.3.1x.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Bonjour,
Je suis aussi confronté à ce problème de spam. J'ai tenté les solutions indiquées ici, mais sans succès.
Je viens d'installer recaptcha, mais en à peine une demi heure, il y a déjà une dizaine de comptes de créé et un sujet de spam...
Je ne vois plus ce que je pourrai faire.
Et en plus de ça, fluxbb n'offre pas des masses de fonctions pour la gestion des membres, ce qui n'aide pas non plus 
Hors ligne
@emg75: la moindre des choses serait de lire le topic
...
http://fluxbb.fr/forums/viewtopic.php?p … 11#p107911 pour la version 1.4, modifications pour la 1.2: http://fluxbb.fr/forums/viewtopic.php?p … 87#p107987
@Malouk: es tu sûr d'avoir testé StopForumSpam ?
Hors ligne