Plugin « Blocage par Référent » pour Dotclear
By Arnaud Boudou on Monday 8 August 2005, 16:00 - Développement - Permalink
Une solution contre le spam par référent sous Dotclear 1.x.
Dernière version : 1.11 du 20 avril 2006.
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
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.
Historique
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
Très sympa comme idée mais dans le soucis d'économiser du cpu, je préconiserais plutôt un stockage dans un fichier /dotclear/share/blockreferer/blacklist.txt car moi pour ces suceurs de bande passante je veux quand même pas leur donner une query MySQL à chaque visite !
Je me suis pris deux interdiction de bloguer chez Teaser et un avertissement chez mon nouvel héberger pour usage à 100 % du CPU avec les blacklists (j'utilisais le greffon referers).
À l'usage, ça ne marche pas, les spammeurs utilisant des adresses de redirections. Même avec des règles génériques, il y en a trop.
Je ne sais pas comment fonctionne le plugin referers à ce niveau. Si il utilise uniquement les expressions régulières, il y a en effet de quoi bouffer du CPU.
Sinon, sans expression régulière et avec juste 12 "morceaux" de référents, je suis tranquille.
Petite question : le blocage se fait comment ? ça revoit un 403 ? une page blanche ? vers google.com ?
Ok, c'est bon, j'ai vu :)
Comme indiqué dans la description : par défaut c'est un 403, sinon il y a la possibilité de renvoyer le robot navigateur vers le référent indiqué : ça ne sert à rien, à part polluer leurs stats.
Ah, trop tard :)
Je n'ai pas encore essayé, mais cela me parait fort intéressant et je pense que ce greffon ne va pas tarder à trouver sa place sur mes blogs. Merci :-)
Une fonctionnalité que j'aimerai bien voir toutefois (qui existe dans le spam karma de WordPress je crois) : offrir la possibilité que le plugin « rédige » une page d'erreur 403 personnalisée qui contienne un message explicatif sur le blocage et un lien vers le billet souhaité. Ainsi, cela permet aux visiteurs réels qui auraient été bloqués par mégarde (par exemple une règle de filtrage « over-zealous » ou un visiteur en provenance d'un blog parlant de poker) de quand même accéder au contenu (puisqu'alors leur nouveau referer est la page d'erreur et non plus la page d'origine).
Pour le plugin referers, oui il utilise des regexps, de plus le filtrage se fait lors de l'affichage (et non pas lors du stockage), ce qui fait qu'il peut effectivement devenir très gourmand en CPU. Personnellement cela ne me pose guère de problèmes, puisque j'ajoute à la main les referers récurrents directement dans mon .htaccess, ce qui me permet de garder une blacklist assez simple (et en plus, je n'affiche même plus les référants sur mon site à vrai dire...)
Bonne idée pour le message personnalisé. Je devrais pouvoir mettre ça dans une future 1.4
Je suis en train d'essayer cette nouvelle version. Il semble en tout cas manquer quelques traductions en français (du moins en latin1, "Use personalized error message" par exemple).
Et j'ai été très surpris par le comportement suivant : j'avais rédigé mon message personnel (sans cliquer sur sauver), puis ajouté un mot dans la liste, cliqué sur sauver (pour le référant) et voilà que mon message personnalisé était perdu ! Bon, je sais bien que ce sont des formulaires différents, etc. mais au moins un avertissement dans la page, ce serait pas mal.
Autre chose : pouvoir également personnalisé le texte "Access to the page" qui apparaît sur les pages d'erreur personnalisées. Parce que cela m'embête d'avoir ce texte en anglais alors que tout le reste de mon message est en français... (Oui, tout cela tient du détail et je pourrai facilement le modifier en patchant le code... mais c'est juste un souci d'amélioration de cet excellent outil.)
Tout le reste semble fonctionner à merveille. Félicitations, j'adore !
Ah, et puis "succès", ça prend un accent grave ;-) (dans "Référent sauvé avec succés" par exemple.)
C'est noté tout ça.
Rendez vous pour une future version :)
L'utiliser c'est l'adopter. Merci Arnaud !
Pour l'instant, j'avoue que le nom de referer différents est gérable. J'ajoute environ un referer tous les deux jours. On verra dans quelques mois...
Les référents à mettre sont assez nombreux au début, mais ça ralenti avec le temps. J'ai du rajouter le dernier il y a trois ou quatre jours.
tu es mon sauveur, je te bénis et te vénère \o/
enfin... merci beaucoup, quoi ;)
Il n'y a pas de quoi.
Pour les offrandes je devrais faire passer d'ici pas longtemps un numéro de compte dans une banque des îles Caïman.
salut - bon c'est de la balle ce plug-in, excellente idée, sauf qu'il manque peut-etre un formulaire multi entrée pour les débuts (mais je chipote... beau travail°
Par contre je capte pas la notion "d'expressions régulieres", si quelqu'un pouvait me dire s'il vaut mieux ou non cocher la page... un grand merci d'avance
Pour les expressions régulières, ça va dépendre de comment tu vas vouloir lire les entrées (mais ce n'est pas obligatoire).
Par exemple, pour bloquer les référents contenant "texas-holdem" et "texasholdem" :
- sans les expressions régulières, tu vas devoir saisir "texas-holdem" et "texasholdem"
- avec les expression régulières, tu pourras te contenter de saisir "texas.*holdem" (lire "texas", puis de 0 à plusieurs caractères, puis "holdem"
Autre possibilité avec les expression régulières, c'est de pouvoir dire "je veux bloquer tous les référents qui finissent par 'toto'" avec "toto$", chose que tu ne pourrais pas faire sans. ou bien "^toto" pour les référents commençant par "toto", etc.
Pour des exemples, voir : fr.php.net/manual/en/ref....
Voilà très très bien, ça évite d'aller bidouiller un .htaccess tous les jours. Pour l'instant en mettant juste poker et casino ça dégage bien mes stats !! Peut-être un peu primaire, mais on raffinera avec le temps.
Par contre il serait bien aussi de logger non seulement le jour mais aussi les heure:minutes:secondes
Le format du log va surement être amené à évoluer avec le temps, je suis en train de réfléchir à une génération de stats d'après le log.
Oui pourquoi pas, mais quelques coups de grep et de sed font déjà bien... Bon j'ai modifié l'appel à la fonction date, j'ai comme ça mes timestamp complets.
Je ne me rendais pas compte combien mon blog recevait de ces liens... c'était pire encore que ce que je pensais. Par contre les envois (ce n'est pas étonnant, mais là ça saute aux yeux) arrivent à heure fixe, la neuvième minute de toutes les heures.
Alors merci encore pour ce "nettoyeur" bien utile.
merci pour l'explication. Mais dans l'exemple de "taxas holdem", si je mets "texas" est ce que tout ce qui contient "texas" est bloqué ? Ou faut il que "texas" soit séparé par des points, caracteres, etc. ?(évidemment on peut imaginer une page sérieuse avec texas dans l'adresse, mais bon)
Avec juste "texas", tout ce qui contient ce terme est bloqué, que ce soit avec ou sans la case "expressions régulières" cochée.
Moi depuis Bush, de toute façon, je ne me laisserais pas référencer par un site contenant Texas... non mais ! ;-)
Je pinaille, je sais... encore un petit manque à la traduction : "Add a new referer" ;-)
Je viens de passer à la 1.7, je me réjouis de voir ce que va me livrer le log... Une nouvelle fois : félicitations !
Corrigé pour le problème de localisation, ça sera pour une future 1.8.
Super ce plugin ! Est-ce qu'il serait possible de rajouter au journal, une indication de l'heure en plus du jour ?
Merci d'avance.
C'est une des modifications prévue pour la version 1.8.
Cette version devrait voir apparaître les statistiques. En revanche, il y a de fortes chances que le journal actuel ne soit plus compatible.
La compatibilité du journal ce n'est pas grave. Malheureusement pour moi, celui-ci étant bien alimenté tous les jours? donc question stats? j'en aurais très vite :(
Bonjour,
Comme j'avais pas mal de sites que je voulais pas dans BBClone j'ai installé ce plugin. Le problème c'est que je ne sais pas comment faire pour supprimer les sites qui sont déjà dans BBClone.
Comment puis-je faire ?
Merci
Bonjour,
A moins de modifier le fichier des statistiques de BBClone (voir les fichiers ecrire/tools/bbclone/var/access.php et ecrire/tools/bbclone/var/last.php), ce n'est pas possible.
Finalement, je l'ai fait, j'ai installé le greffon (du coup, les référents vont peut-être revenir).
Je suis intéressé par les expressions régulières (si j'ai bien compris, ton grefffon les gère à un niveau plus fondamental que le grefffon referer (stockage au lieu d'affichage) et donc elles bouffent moins de CPU. Donc bien.
En revanche, je suis très mauvais en regexps (et un peu flemmard de lire de la doc, je sais c'ext mal mais j'ai aussi beaucoup de boulot). Que dirais-tu d'un billet « expression régulières pour le greffon Blocage par Référent » ? J'ai appris mon HTML en regardant le code source des pages, ça devrait marcher avec les regexps aussi :-)
Il te suffit juste de développer les exemples dans les commentaires sur texas-holdem, et on ajoute d'autres exemples, pour avoir une liste assez complète des idées
sans les expressions régulières, tu vas devoir saisir "texas-holdem" et "texasholdem"
avec les expression régulières, tu pourras te contenter de saisir "texas.*holdem" (lire "texas", puis de 0 à plusieurs caractères, puis "holdem"
par exemple (cas réel présent)
t-e-x-a-s
Voilà, merci !
Mon niveau en expressions régulières n'est pas fameux non plus :)
J'ai pris l'exemple de texas-holdem parce qu'il m'était plus simple à comprendre. Mais je garde l'idée sous le coude, je vais voir ce que je peux faire.
Ah, une autre question : la page HTML personalisée, c'est une page complète avec headers et tout ou juste un paragraphe (comme dans les commentaires côté admin sur Dotclear) ?
Juste le paragraphe dont tu as besoin.
Merci pour les deux réponses
Merci pour cette nouvelle version. Elle répond totalement à mes attentes.
Juste une précision. Quel intérêt y-a-t-il de renvoyer à des robots une page html personnalisée ? N'est-ce pas une indication que l'on donne qu'il y a quelqu'un à l'autre bout ?
Pour un robot, il n'y a en effet aucun intérêt. En revanche pour une personne qui arrive depuis un référent qui contient un terme à bloquer, même si ce référent n'est pas critiquable en soit, ça peut lui permettre de quand même voir l'article qui va bien.
Alors que j'utilise le plugin (avec satisfaction depuis plusieurs jours), aujourd'hui je m'aperçois que la liste des référents est vide. Bizare.
Bizarre en effet. Pour que la liste soit vide, il faut que le fichier des référents ai été supprimé, ou ne soit plus lisible.
Peut-être une fausse manipulation, ou un script de maintenance de votre hébergeur un peut trop efficace ?
Pour l'instant ça ne s'est pas encore reproduit.
Est-ce que le fichier referers_log.txt est encore utile ? J'ai l'impression qu'il ne sert plus à rien.
Puis-je l'effacer ?
Oui, il est devenu inutile. Il est effaçable sans crainte :)
Je viens de localiser le problème. Lorsqu'on supprime un item de la liste des référents (en le cochant puis supprimer) à bloquer (interface configuration), la totalité de la liste est effacée.
Problème que je n'arrive pas à reproduire chez moi (uniquement le référent sélectionné est supprimé).
Peux tu me donner ta configuration utilisée ? (version de PHP, apache ? IIS ?)
Tiens ! Chez moi ! Le problème ne se reproduit pas? Au boulot (où j'ai constaté le problème, nous sommes derrière un firewall) Est-ce que cela peut en être la cause ?
A moins que votre firewall bloque les requêtes de type POST (dans ce cas il ne serait pas possible non plus de rajouter des référents ou de modifier la configuration du plugin), il n'y a pas de raison que le comportement change.
Navigateurs différents peut être ?
C'est étrange, j'ai installé le plugin hier soir et j'ai plusieurs problèmes.
1. j'ai bloqué plusieurs référents mais ceux-ci sont revenus à de nombreuses reprises pendant la nuit
2. je n'arrive pas à personnaliser ni le message d'accueil, ni rien d'ailleurs. (je sauve les modifications et quend je reviens sur la page du plugin rien n'est affiché ni coché).
Vérifie que dans le dossier share/blockreferer de ton installation de dotclear tu ais les fichiers suivants :
- referers.txt (la liste des référents à bloquer)
- referers_options.php (les options du plugin)
- referers_log.csv (le journal des blocages)
Il faut que ton installation de dotclear ai les droit en lecture/écriture sur ce dossier. (ainsi que sur le dossier d'installation du plugin, pour les fichiers temporaires).
droits lecture/écriture : OK
referers.txt : OK
referers_options.php : OK
referers_log.csv : FAILED!!!! :'(
Pour le dernier, ce n'est peut-être pas un problème, il n'est censé être présent que si la case "journal des blocages" est cochée, et qu'il y a eu des blocages.
Peux-tu m'envoyer par mail le contenu de "referers_options.php" à skuld (at) goddess-gate.com ?
Même chose pour moi.
droits lecture/écriture : OK
referers.txt : OK
referers_options.php : OK
referers_log.csv : FAILED!!!! :'(
Sinon, une question bête, comment je peux tester le plugin ?
Mis en place ce matin, on va voir ce que ca donne au long court.
Pour le referers_log.csv, il faut penser à cocher la case demandant la journalisation des blocages. Il sera ensuite créé dès le premier blocage effectif.
Pour tester, il te faudrait un hébergement externe, avec un lien vers ton blog. Et ensuite, tu places ton hébergement externe dans la liste des référents à bloquer. Ou bien tu cherches si tu es trouvables par Google / Yahoo / le moteur que tu veux, et tu bloques ce moteur.
Ok, ca à l'air de marcher. J'ai bloqué Google pour mon test... très efficace.
Je constate cependant que des referers bloqués apparaissent encore dans mes stats BBclone mais pas dans les logs.mais plus de spam associé... on va voir dans les prochaines heures.
Enfin, merci pour ce plugin. Associé à spamplemousse, je devrais être moins emmer****
Ceux apparaissant dans les stats sont censés être ceux d'avant leur inclusion dans la liste. L'effet du plugin n'est pas rétroactif.
Juste pour le fun et si vous avez envie de voir ce que ca donne, j'ai bloqué goddess-gate, bien que ce ne soit pas un spammeur ! ;-)
Pas mal :)
J'ai pour ma part laissé un message plus "corporate" :)
Salut,
j'ai un message d'erreur à l'installation du plugin:
Warning: mkdir(/var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/inc/../share/blockreferer/): Permission denied in /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/tools/blockreferer/index.php on line 21
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/tools/blockreferer/index.php:21) in /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/inc/model.inc.php on line 154
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/tools/blockreferer/index.php:21) in /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/inc/model.inc.php on line 155
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/tools/blockreferer/index.php:21) in /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/inc/model.inc.php on line 156
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/tools/blockreferer/index.php:21) in /var/www/vhosts/weblog.lejournal-hebdo.com/httpdocs/ecrire/inc/model.inc.php on line 157
comment je fais,
j'ai donné les autorisations nécessaires en 777, mais je n'arrive pas à trouver le chemin pour le dossier à la première ligne de l'erreur mkdir avec les points de suspension, je sais plus koi faire. help please!
A ce que j'arrive à deviner du message d'erreur, vous devez avoir sur votre hébergement web un répertoire httpdocs/share.
Il faut des droits en 777 sur ce répertoire afin que le plugin puisse créer le dossier blockreferer et les fichiers qui lui sont utiles dans ce dossier.
En fait, ce snt les 2 points entre inc et share qui me dérangent, est-ce que je dois créer un dossier share dans le répertoire inc ou bien il y a un chemein plus long?
C'est bon, j'ai reglé mon problème, j'ai trouvé le répertoire share, je lui ai donné les autorisations nécessaires et ça marche. merci Arnaud;
P.S. est-ce que le plugin prend en compte les adresses IP? genre 62.xxx.xx.xx?
Oui, si le référent est une addresse IP, celle-ci sera prise en compte.
Merci pour cette réponse rapide Arnaud et bravo pour ton travail, ça marche à merveille! :)
Installé en quelques secondes. Merci pour ce plugin que je teste tout de suite.
bonjour, j'ai installé ce plugins, je dois dire aussi que je ne suis pas très forte en informatique! mais je n'arrive pas à la faire fonctionner. Dans référent à bloquer j'ai ajouté les adresses des sites qui poluent mon blog mais quand je fais un test le commentaire passe. alors je dois faire une erreur quelques part mais ou ? j'ai la derniere version de dotclear dois je faire une modification dans template ? pour les cases à cocher (utiliser des expressions regulieres...) est ce que je dois cocher ? si oui lesquelles? dois je ecrire le message d'erreur ? et enfin dans texte du lien "accéder à la page" je dois écrire quelques choses ?
voilà j'espere que je pose pas trop de questions betes mais comme je les precisais plus haut je suis pas doué en informatique!
Merci
Bonjour,
Pour le spam de commentaires, il faut passer par le plugin "Spamplemousse" ( www.zeubeubeu.net/blog/pl... ).
Le plugin "blocage par référent" ne sert que pour le spam de statistiques.
ah ben voilà tout s'explique! merci pour cette reponse rapide
Merci ! ;-)
Nickel, je test ça de suite :)
Bonjour. Tout d'abord, merci pour ce plugin. Je l'ai installé hier. J'ai vu qu'on pouvait le synchroniser avec Spamplemousse. Je voudrais le faire, mais je n'arrive plus à trouver comment faire. Cette synchronisation devrait bloquer les spams de commentaires, si j'ai bien compris. (Ma question est sûrement bête, mais je ne suis pas super douée en informatique.) Merci de me répondre. :)
Concernant la synchronisation avec « spamplemousse », ça se passe dans l'interface d'admin de « blocage par référent ». Il y a un bouton de synchronisation en bas de la page. La synchronisation rend les listes de blocages de « spamplemousse » et « blocage par référent » identiques, mais elle n'est pas nécessaire pour bloquer les spams de commentaire via « spamplemousse » (ce dernier possède déjà une liste de termes à bloquer).
Merci beaucoup de la rapidité de la réponse. Donc, si je veux éviter d'avoir 36000 commentaires spam à trier, (je vérifie toujours, car parfois, il y a des vrais commentaires dans le filtre), je dois ajouter des mots à la liste des mots bloqués?
Là je n'ai pas trop compris la question.
Spamplemousse bloquera tout commentaire contenant un des mots de sa liste à bloquer. Pour éviter les faux positifs (commentaire considéré comme du spam alors qu'en fait il est légitime), il faut affiner cette liste : ajouter les mots à bloquer et supprimer les mots que l'on ne veut pas bloquer.
Personnellement, à l'époque où j'utilisais encore Dotclear 1.x, j'utilisais « spamplemousse » (avec une liste de mots vides) et « spamclear » ensemble : tout d'abord « spamplemousse » filtrait par rapport aux listes de blocages d'IP de spammeur, en ignorant le contenu du commentaire. Si le commentaire était validé, il était vérifié ensuite par spamclear qui utilise un filtrage bayésien.
Merci d'avoir eu la patience de me répondre. Je pense que je vais utiliser la méthode de supprimer certains mots du filtre pour qu'il ne prenne que les vrais spams. En fait, je cherchais quelque chose qui bloque le commentaire spam, qui l'empêche même de passer dans le filtre. Ainsi, j'aurais eu moins de spam à vérifier, car je ne vide pas simplement la file de modération, je vérifie au cas où des commentaires légitimes se glisseraient dans le filtre. Apparemment, ce que je cherche n'existe pas, donc, je vais affiner le filtre en supprimant des mots qui pourraient être des mots de commentaires légitimes, et en ajoutant d'autres mots plus probants.
Je n'ai pas encore essayé Dotclear 2... Il faudra bien que j'y passe. ;-)
Merci encore pour la réponse.
C'est encore moi! ;-) Je pense que je vais faire comme toi: utiliser Spam Clear pour filtrer les contenus. En effet, il a une option pour supprimer le commentaire directement. Cette option est, bien sûr, à utiliser avec précautions, il faut que le filtre soit bien entraîné. Seulement, je n'arrive pas à trouver la liste des mots qui sont dans le filtre... (Oui, je suis un boulet.)
Désolée de poser toutes ces questions...
Est-ce que Dotclear 2 marche bien? Comme c'est une version beta, j'attends un peu avant de m'y risquer. J'espère qu'il n'utilise pas beaucoup de javascript...
« Seulement, je n'arrive pas à trouver la liste des mots qui sont dans le filtre» : Spamclear n'a pas de liste de mots proprements dits. Comme c'est du filtre bayesien, c'est un usage statistiques des mots du commentaire qui est utilisé. Donc l'entrainement consiste à indiquer quels commentaires sont des spams (quand ils ne sont pas détectés comme tels), et quels commentaires sont des spams (quand ils sont détectés comme tels). Au fur et à mesure que sa base d'entrainement augmentera, il fera moins d'erreurs.
« Est-ce que Dotclear 2 marche bien? » : Il est utilisable sans problèmes. Il manque juste pour le moments de plugins (spamplemousse est présent par défaut, et devrait évoluer à terme pour intégrer un filtre bayesien).
« J'espère qu'il n'utilise pas beaucoup de javascript » Le javascript est utilisé côté interface d'administration, il me semble qu'il n'y a rien (ou presque rien) dans la partie publique.
Merci pour ces réponses. Ca y est, j'ai tout compris. (Si si, c'est possible. ;-)
Zut pour le javascript dans l'interface d'administration... Je pourrai faire moins de choses seule... (Je suis non-voyante, et mon matériel n'aime pas le flash et le javascript.) Bon, je vais rester sous Dotclear 1, et on verra bien. Merci encore! :)
Normalement, l'interface est relativement utilisable sans Javascript, ce dernier étant principalement pour des effets « eye-candy ». L'ideal est de tester pour voir si ça convient ou non.
Ah, merci, ça me rassure! Bon, je la testerai, la version 2, alors.
Désolée, j'ai une autre question... (Je vais bientôt être référencée comme étant du spam. ;-) ) Pour mon problème de spam de commentaires, je vais employer ta méthode: utiliser spamClear et Spamplemousse ensemble, avec Spamplemousse qui bloque seulement les adresses IP. Mais comment lui signaler les adresses IP (ou plages d'adresses IP) à bloquer? Je suppose qu'il y en a qui sont déjà répertoriées, mais si je veux lui en signaler d'autres...? De toute façon, je pense qu'à terme, je n'utiliserai que Spam Clear. Et à long terme, ce sera Dotclear 2 avec Spamplemousse intégré.
Le contrôle des IP par spamplemousse n'est pas réglable : il interroge des listes noires préexistantes (spamhaus.org par exemple).
Bon, je n'ai plus de questions. Ouf! ;-) Merci pour les réponses. :)
Suggestion : y'a-t-il une liste déjà existante ? Parce que je commence à en avoir un paquet de référents-SPAM et l'idée de les mettre à la main révulse ma fénéantise !
Sinon bravo pour ce plugin qui devrait être intégré à DC2, sauf si Askimet fait son boulot...
Bonjour,
Apparemment une personne est parti de mon ancien exemple, et son fichier est disponible ici : http://kingstoune.com/myblog/share/...
C'est bizarre, j'ai mis ".*" comme regexp, mais j'ai encore les référents chiants avec plusieurs adresses dedans qui arrivent à venir. Pourtant j'ai installé le plugin RefControl et je me fais bloquer dès que je mets un réferrent, mais eux... non.
Je vais jeter un coup d'oeil à bbclone voir ce que lui affiche, si c'est pas une autre variable serveur ou quoi. Parce que les adresses que je vois ne sont pas dans les statistiques de blocage. Si tu avais une idée...
Hey, désolé rien à voir mais j'ai laissé un commentaire sur ton plugin mais apparemment tu l'as pas vu et j'ai pas trouvé ton mail non plus.
En jetant un coup d'oeil à ton code j'ai vu que tu ne faisais le blocage que si le nom du serveur n'apparaissait pas dans le referant avec un strstr.
Le probleme c'est que la vague de spam en ce moment contient ton hostname quelque part dans le referant, mais pas au début.
Il faudrait que tu fasses le check sur la présence du hostname au début de la chaine de referant, pas n'importe où.
Dans mon code j'ai remplacé par une recherche avec eregi. Tu devrais pouvoir t'en sortir pour la regex, sinon tu peux me contacter par mail.
Je ne sais pas trop si ça peut poser des soucis quelque part, apparemment pour moi non.
1146 - Table 'db0033207.rb_spamwords' doesn't exist
Voilà l'erreur que j'ai à chaque fois, si quelqu'un pouvait me mailer pour m'expliquer la marche à suivre, ça m'arrangerait beaucoup..
PS : Tout le reste marche, juste ça qui ne s'installe pas..
Il semblerait que vous essayer de synchroniser le plugin avec spamplemousse, et que ce dernier soit introuvable. Est-ce que spamplemousse est bien installé ?