[SPIP Zone] plugin RBL (Realtime Blackhole List)

Je viens de commit dans _plugins_/_test_/ un plugin "RBL" qui contrôle
-- pour chaque envoi de données en mode POST (quel qu'il soit : envoi
de forum, signature de pétition, ou tout autre !) -- le numéro IP du
visiteur dans la "blacklist" sbl-xbl.spamhaus.org

Si ce numéro IP est référencé dans cette liste noire, le hit s'arrête
avec une erreur 503 Forbidden, et on logue le problème dans
tmp/rbl.log

Spécial dédicace à Samy

Le code est très simple je vous invite à l'intégrer éventuellement
dans d'autres plugins anti-spam (si vous regardez le vrai fichier,
j'ai ajouté une seule "complication" : un fonds CFG permet de modifier
la blacklist choisie) :

_plugins_/_test_/rbl/rbl.inc
<?php

// Verifier les POST contre une blacklist publique
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
       $lookup = implode('.', array_reverse(explode('.', $GLOBALS['ip']))) . '.'
               . 'sbl-xbl.spamhaus.org';
       if ($lookup !== gethostbyname($lookup)) {
               spip_log('rbl blocked: '.$GLOBALS['ip'].' response:
'.gethostbyname($lookup), 'rbl');
               header('HTTP/1.1 403 Forbidden');
               die ("<html> <head> <title>403 Forbidden</ title> </head>
               <body> <p>".$GLOBALS['ip']." is listed in RBL.</p>
</body> </html>");
       }
}

-- Fil

Salut Fil,

super merci - je suis déjà en train de tester la combinaison de RBL et NoSpam pour des forums sans modération.

Un problème s'est tout de suite produit: Je ne peux plus accéder à mon site car le numéro IP de mon accès internet est listé dans RBL :frowning: C'est un IP dynamique et donc susceptible d'être systématiquement répertorié dans les listes IP antispam.

Je ne vois pas de solution sans modification du plugin. La quasi totalité de nos visiteurs utilise des IP dynamiques et sera donc exclue de l'utilisation des forums et autres fonctions interactives.

Pour rendre ce plugin utilisable il faudrait lui rajouter une fonction permettant de le débloquer temporairement pour un IP :

Etape 1: Je suis bloqué car mon IP est corrumpue
Etape 2: Je clique sur "débloquer mon IP"
Etape 3: Je prove que je suis un être humain
Etape 4: Je peux utiliser SPIP pendant X minutes

Ce pourrait se faire ou avec des cookies de session ou avec un simple compteur de secondes comm pour le cache.

Amicalement, klaus++

Fil schrieb:

Je viens de commit dans _plugins_/_test_/ un plugin "RBL" qui contrôle
-- pour chaque envoi de données en mode POST (quel qu'il soit : envoi
de forum, signature de pétition, ou tout autre !) -- le numéro IP du
visiteur dans la "blacklist" sbl-xbl.spamhaus.org

Si ce numéro IP est référencé dans cette liste noire, le hit s'arrête
avec une erreur 503 Forbidden, et on logue le problème dans
tmp/rbl.log

Spécial dédicace à Samy

Le code est très simple je vous invite à l'intégrer éventuellement
dans d'autres plugins anti-spam (si vous regardez le vrai fichier,
j'ai ajouté une seule "complication" : un fonds CFG permet de modifier
la blacklist choisie) :

_plugins_/_test_/rbl/rbl.inc
<?php

// Verifier les POST contre une blacklist publique
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
       $lookup = implode('.', array_reverse(explode('.', $GLOBALS['ip']))) . '.'
               . 'sbl-xbl.spamhaus.org';
       if ($lookup !== gethostbyname($lookup)) {
               spip_log('rbl blocked: '.$GLOBALS['ip'].' response:
'.gethostbyname($lookup), 'rbl');
               header('HTTP/1.1 403 Forbidden');
               die ("<html> <head> <title>403 Forbidden</ title> </head>
               <body> <p>".$GLOBALS['ip']." is listed in RBL.</p>
</body> </html>");
       }
}

-- Fil
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 5 janv. 09 à 18:45, klaus++ a écrit :

Salut Fil,

super merci - je suis déjà en train de tester la combinaison de RBL et NoSpam pour des forums sans modération.

Un problème s'est tout de suite produit: Je ne peux plus accéder à mon site car le numéro IP de mon accès internet est listé dans RBL :frowning: C'est un IP dynamique et donc susceptible d'être systématiquement répertorié dans les listes IP antispam.

Je ne vois pas de solution sans modification du plugin. La quasi totalité de nos visiteurs utilise des IP dynamiques et sera donc exclue de l'utilisation des forums et autres fonctions interactives.

Je le savais que Fil etait un Censeur ! ...
Cédric

Je me corrige - comme par miracle je ne suis plus bloqué sauf quand je veux écrire dans la bdd.

Alors - impossibilité de travailler comme auteur ou admin SPIP. Faudrait limiter l'action du plugin sur l'espace public ou - mieux encore - permettre au aux admin/rédacteurs/visiteurs logués de débloquer le plugin pour leur IP. Ca pourrait éventuellement se faire automatiquement et de toute facon car qqn avec un mot de pass connu au système n'est que rarement un spammeur.

klaus++

klaus++ schrieb:

Salut Fil,

super merci - je suis déjà en train de tester la combinaison de RBL et NoSpam pour des forums sans modération.

Un problème s'est tout de suite produit: Je ne peux plus accéder à mon site car le numéro IP de mon accès internet est listé dans RBL :frowning: C'est un IP dynamique et donc susceptible d'être systématiquement répertorié dans les listes IP antispam.

Je ne vois pas de solution sans modification du plugin. La quasi totalité de nos visiteurs utilise des IP dynamiques et sera donc exclue de l'utilisation des forums et autres fonctions interactives.

Pour rendre ce plugin utilisable il faudrait lui rajouter une fonction permettant de le débloquer temporairement pour un IP :

Etape 1: Je suis bloqué car mon IP est corrumpue
Etape 2: Je clique sur "débloquer mon IP"
Etape 3: Je prove que je suis un être humain
Etape 4: Je peux utiliser SPIP pendant X minutes

Ce pourrait se faire ou avec des cookies de session ou avec un simple compteur de secondes comm pour le cache.

Amicalement, klaus++

Fil schrieb:

Je viens de commit dans _plugins_/_test_/ un plugin "RBL" qui contrôle
-- pour chaque envoi de données en mode POST (quel qu'il soit : envoi
de forum, signature de pétition, ou tout autre !) -- le numéro IP du
visiteur dans la "blacklist" sbl-xbl.spamhaus.org

Si ce numéro IP est référencé dans cette liste noire, le hit s'arrête
avec une erreur 503 Forbidden, et on logue le problème dans
tmp/rbl.log

Spécial dédicace à Samy

Le code est très simple je vous invite à l'intégrer éventuellement
dans d'autres plugins anti-spam (si vous regardez le vrai fichier,
j'ai ajouté une seule "complication" : un fonds CFG permet de modifier
la blacklist choisie) :

_plugins_/_test_/rbl/rbl.inc
<?php

// Verifier les POST contre une blacklist publique
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
       $lookup = implode('.', array_reverse(explode('.', $GLOBALS['ip']))) . '.'
               . 'sbl-xbl.spamhaus.org';
       if ($lookup !== gethostbyname($lookup)) {
               spip_log('rbl blocked: '.$GLOBALS['ip'].' response:
'.gethostbyname($lookup), 'rbl');
               header('HTTP/1.1 403 Forbidden');
               die ("<html> <head> <title>403 Forbidden</ title> </head>
               <body> <p>".$GLOBALS['ip']." is listed in RBL.</p>
</body> </html>");
       }
}

-- Fil
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Et voilà - sachant que 79.140.186.181 est mon IP en ce moment, j'ai provisoirement modifié la condition de blocage dans rbl.inc :

if ($lookup !== gethostbyname($lookup) and $GLOBALS['ip'] != '79.140.186.181') et voilà je peux à nouveau écrire dans la bdd.

reste à écrire le code qui identifie si on est loggué.

klaus++

klaus++ schrieb:

Je me corrige - comme par miracle je ne suis plus bloqué sauf quand je veux écrire dans la bdd.

Alors - impossibilité de travailler comme auteur ou admin SPIP. Faudrait limiter l'action du plugin sur l'espace public ou - mieux encore - permettre au aux admin/rédacteurs/visiteurs logués de débloquer le plugin pour leur IP. Ca pourrait éventuellement se faire automatiquement et de toute facon car qqn avec un mot de pass connu au système n'est que rarement un spammeur.

klaus++

klaus++ schrieb:

Salut Fil,

super merci - je suis déjà en train de tester la combinaison de RBL et NoSpam pour des forums sans modération.

Un problème s'est tout de suite produit: Je ne peux plus accéder à mon site car le numéro IP de mon accès internet est listé dans RBL :frowning: C'est un IP dynamique et donc susceptible d'être systématiquement répertorié dans les listes IP antispam.

Je ne vois pas de solution sans modification du plugin. La quasi totalité de nos visiteurs utilise des IP dynamiques et sera donc exclue de l'utilisation des forums et autres fonctions interactives.

Pour rendre ce plugin utilisable il faudrait lui rajouter une fonction permettant de le débloquer temporairement pour un IP :

Etape 1: Je suis bloqué car mon IP est corrumpue
Etape 2: Je clique sur "débloquer mon IP"
Etape 3: Je prove que je suis un être humain
Etape 4: Je peux utiliser SPIP pendant X minutes

Ce pourrait se faire ou avec des cookies de session ou avec un simple compteur de secondes comm pour le cache.

Amicalement, klaus++

Fil schrieb:

Je viens de commit dans _plugins_/_test_/ un plugin "RBL" qui contrôle
-- pour chaque envoi de données en mode POST (quel qu'il soit : envoi
de forum, signature de pétition, ou tout autre !) -- le numéro IP du
visiteur dans la "blacklist" sbl-xbl.spamhaus.org

Si ce numéro IP est référencé dans cette liste noire, le hit s'arrête
avec une erreur 503 Forbidden, et on logue le problème dans
tmp/rbl.log

Spécial dédicace à Samy

Le code est très simple je vous invite à l'intégrer éventuellement
dans d'autres plugins anti-spam (si vous regardez le vrai fichier,
j'ai ajouté une seule "complication" : un fonds CFG permet de modifier
la blacklist choisie) :

_plugins_/_test_/rbl/rbl.inc
<?php

// Verifier les POST contre une blacklist publique
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
       $lookup = implode('.', array_reverse(explode('.', $GLOBALS['ip']))) . '.'
               . 'sbl-xbl.spamhaus.org';
       if ($lookup !== gethostbyname($lookup)) {
               spip_log('rbl blocked: '.$GLOBALS['ip'].' response:
'.gethostbyname($lookup), 'rbl');
               header('HTTP/1.1 403 Forbidden');
               die ("<html> <head> <title>403 Forbidden</ title> </head>
               <body> <p>".$GLOBALS['ip']." is listed in RBL.</p>
</body> </html>");
       }
}

-- Fil
_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Je me corrige - comme par miracle je ne suis plus bloqué sauf quand je veux
écrire dans la bdd.

En effet le plugin ne s'active que sur les actions POST.

Alors - impossibilité de travailler comme auteur ou admin SPIP. Faudrait
limiter l'action du plugin sur l'espace public ou - mieux encore -
permettre au aux admin/rédacteurs/visiteurs logués de débloquer le plugin
pour leur IP. Ca pourrait éventuellement se faire automatiquement et de
toute facon car qqn avec un mot de pass connu au système n'est que rarement
un spammeur.

Oui certainement, mais s'il faut tout de suite commencer à le
complexifier, ça veut surtout dire que le concept n'est adapté. Ce qui
vaut pour l'email ne vaut pas forcément pour les forums web.

Je dois dire que je n'ai pas trouvé de documentation là-dessus, j'ai
juste vu qu'il existait un code similaire pour WordPress.

-- Fil

Et voilà - sachant que 79.140.186.181 est mon IP en ce moment, j'ai
provisoirement modifié la condition de blocage dans rbl.inc :

http://www.spamhaus.org/query/bl?ip=79.140.186.181

normalement tu ne devrais pas être bloqué

-- Fil

Pourtant j'ai le message
"79.140.186.181 is listed in RBL."
klaus++

Fil schrieb:

Et voilà - sachant que 79.140.186.181 est mon IP en ce moment, j'ai
provisoirement modifié la condition de blocage dans rbl.inc :

http://www.spamhaus.org/query/bl?ip=79.140.186.181

normalement tu ne devrais pas être bloqué

-- Fil

Si on s'y prend du côté de SPIP tout est simple une fois qu'on est connecté. Il suffit alors d'écrire dans rbl.inc

if ($lookup !== gethostbyname($lookup) AND !$auteur_session)

mais avec ca on n'arrive pas à se connecter :frowning:

Il faudrait trouver un truc pour contourner le plugin lors ce qu'on se connecte.

klaus++

Fil schrieb:

Je me corrige - comme par miracle je ne suis plus bloqué sauf quand je veux
écrire dans la bdd.

En effet le plugin ne s'active que sur les actions POST.

Alors - impossibilité de travailler comme auteur ou admin SPIP. Faudrait
limiter l'action du plugin sur l'espace public ou - mieux encore -
permettre au aux admin/rédacteurs/visiteurs logués de débloquer le plugin
pour leur IP. Ca pourrait éventuellement se faire automatiquement et de
toute facon car qqn avec un mot de pass connu au système n'est que rarement
un spammeur.

Oui certainement, mais s'il faut tout de suite commencer à le
complexifier, ça veut surtout dire que le concept n'est adapté. Ce qui
vaut pour l'email ne vaut pas forcément pour les forums web.

Je dois dire que je n'ai pas trouvé de documentation là-dessus, j'ai
juste vu qu'il existait un code similaire pour WordPress.

-- Fil

http://www.spamhaus.org/query/bl?ip=79.140.186.181

Pourtant j'ai le message
"79.140.186.181 is listed in RBL."

Extraordinaire. Quand j'essaie ça m'affiche :

79.140.186.181 is not listed in the SBL
79.140.186.181 is not listed in the PBL
79.140.186.181 is not listed in the XBL

-- Fil

Fil a écrit :

http://www.spamhaus.org/query/bl?ip=79.140.186.181

Pourtant j'ai le message
"79.140.186.181 is listed in RBL."

Extraordinaire. Quand j'essaie ça m'affiche :

79.140.186.181 is not listed in the SBL
79.140.186.181 is not listed in the PBL
79.140.186.181 is not listed in the XBL

Question : est-ce que Klaus teste en local ? car dans ce cas son IP est donc 127.0.0.1, adresse qui est listée dans les RBL...

Après quelques recherches sur gogol je crois qu'il faut essayer
httpBL.abuse.ch (cf. http://dnsbl.abuse.ch/faq.php) plutôt que
sbl-xbl.spamhaus.org ; par ailleurs j'ai amélioré le code de
vérification de manière à éviter qu'une réponse NULL soit prise comme
un test positif.

-- Fil

Effectivement, avec cette version je ne suis plus bloqué.

Est-ce qu'il y a un log quelque part pour vérifier si le plugin a bien fait son travail?

merci, klaus++

Fil schrieb:

Après quelques recherches sur gogol je crois qu'il faut essayer
httpBL.abuse.ch (cf. http://dnsbl.abuse.ch/faq.php) plutôt que
sbl-xbl.spamhaus.org ; par ailleurs j'ai amélioré le code de
vérification de manière à éviter qu'une réponse NULL soit prise comme
un test positif.

-- Fil

Effectivement, avec cette version je ne suis plus bloqué.

super

Est-ce qu'il y a un log quelque part pour vérifier si le plugin a bien fait
son travail?

tmp/rbl.log

-- Fil

Salut,

j'ai cherché dans la doc sur http://dnsbl.abuse.ch/faq.php comment tester le fonctionnement du service et sa communiction avec le plugin RBL SPIP. Est-ce qu'il y a

D'ailleurs la déscripion du plugin fait toujours féférence à http://www.spamhaus.org (à moins que ma version installée ne soit plus d'actualité).

merci, klaus++

Fil schrieb:

Effectivement, avec cette version je ne suis plus bloqué.

super

Est-ce qu'il y a un log quelque part pour vérifier si le plugin a bien fait
son travail?

tmp/rbl.log

-- Fil

Lors de ma première installation du plugin j'a bien vu le fichier tmp/rbl.log. Après réinstallation je ne suis plus bloqué mais il n'y a plus ce fichier.

En lisant rapidement le code du plugin je nai pas compris où et sous quelle condition le fichier log est crée.

Ou est-ce que je peux modifier le comportement de la création de fichier log?

merci, klaus++

P.S. Pour être partfait le plugin devrait au moins témoigner de l'installation réussie dans son log.

Fil schrieb:

Effectivement, avec cette version je ne suis plus bloqué.

super

Est-ce qu'il y a un log quelque part pour vérifier si le plugin a bien fait
son travail?

tmp/rbl.log

-- Fil

Lors de ma première installation du plugin j'a bien vu le fichier
tmp/rbl.log. Après réinstallation je ne suis plus bloqué mais il n'y a plus
ce fichier.
En lisant rapidement le code du plugin je nai pas compris où et sous quelle
condition le fichier log est crée.

Uniquement quand il bloque un IP

P.S. Pour être partfait le plugin devrait au moins témoigner de
l'installation réussie dans son log.

L'installation réussit toujours :slight_smile:

-- Fil

Bon, d'accord, c'est moi qui fait le c.. trois fois par jour :wink:
klaus++

P.S. Pour être partfait le plugin devrait au moins témoigner de
l'installation réussie dans son log.

L'installation réussit toujours :slight_smile:

-- Fil