Forum PHPBB : Cooment filtrer les URLs des webmaster ?

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


pipo
WRInaute discret
WRInaute discret
 
Messages: 95
Inscription: Mer Mar 12, 2003 20:12

Forum PHPBB : Cooment filtrer les URLs des webmaster ?

Message le Dim Mar 21, 2004 13:46

Salut à tous !
Etant moi-même administrateur d'un forum PhpBB, j'ai le malheur de me faire spamer à tour des bras par des webmasters venant s'inscrire et rajoutant dans leur profil un site porno.
Ca ne correspond forcément pas du tout à l'éthique de mon site et malgré le fait qu'ils ne postent pas de messages, je voudrais pouvoir filtrer l'url du profil sur certains mots. Quelqu'un peut-il m'aider à ce niveau là ? Existe-t-il un module, une fonction qui s'en occupe ou bien quelles sont en php le code de vérification à ajouter ?

Merci d'avance,
Pierre

P.S. Inutile de dire qu'à chaque fois que je bloque le nom et l'adresse email du membre, il m'en invente une nouvelle. J'ai quasi une inscription par jour de ce genre !

PuraVida
WRInaute accro
WRInaute accro
 
Messages: 1007
Inscription: Mar Jan 13, 2004 19:36

Message le Dim Mar 21, 2004 15:28

Je pense que tu devrais essayer de bloquer le IP du webmaster plutot que les adresse e-mail et autres...
Je suis nul en PHP, donc peut pas te donner de code, mais j'imagine qu'en effet il doit exister des modules...

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Dim Mar 21, 2004 15:43

Je n'utilise pas PhpBB et n'en connais donc pas le code, mais je sais que c'est plutôt le fouillis en général...

L'idée de base, c'est:

1) Trouver la ligne de code qui fait l'insertion des infos dans la BDD lors de l'inscription (sûrement une page register.php ou un truc du style).

2) Repérer dans ce code la variable qui désigne l'url du nouveau membre

3) Quand tu as cette variable, tu fais un test dessus avant la ligne d'insertion. Du style:
Code: Tout sélectionner
if(strstr($url),"groslolos" ) { $url="http://www.disney.com"; };


Ca c'est si tu te fais ennuyer juste par un type qui met toujours le même site, ou si tu n'as qu'un seul mot à filtrer (ici: groslolos), mais si tu veux en filtrer plkus, le mieux est sans doute de passer par une expression régulière (regex). Mais ce n'est pas ma spécialité, mieux vaut chercher sur un site avec des exemples de regex ou demander l'aide de pros (George Abitbol ?)

aK.

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Dim Mar 21, 2004 15:47

http://www.phpinfo.net/regex/index.html

ici tu as un exemple pour bannir les mots d'un texte, ça peut déjà te suffire pour ne plus être embêté.

aK.


textalyser
WRInaute discret
WRInaute discret
 
Messages: 87
Inscription: Sam Mar 20, 2004 16:35

Message le Dim Mar 21, 2004 15:52

même probleme, recurrent, vivement une solution simple, je remarque qu'ils mettent tjrs des signes speciaux au debut de leur pseudo, j'ajoute que les solutions prposées ne sont pas applicables, car les spammeurs utilisent tjrs de nouveaux mots


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15883
Inscription: Ven Avr 19, 2002 19:51

Message le Dim Mar 21, 2004 18:21

c'est sans doute lié au fait que tu as une page listant les membres de ton forum ?


textalyser
WRInaute discret
WRInaute discret
 
Messages: 87
Inscription: Sam Mar 20, 2004 16:35

Message le Dim Mar 21, 2004 18:23

WebRankInfo a écrit:c'est sans doute lié au fait que tu as une page listant les membres de ton forum ?


à supprimer ?, pourtant c'est interessant sinon


pipo
WRInaute discret
WRInaute discret
 
Messages: 95
Inscription: Mer Mar 12, 2003 20:12

Message le Lun Mar 22, 2004 0:10

WebRankInfo a écrit:c'est sans doute lié au fait que tu as une page listant les membres de ton forum ?

C'est exact !
Je vais essayer les solutions de filtrage en modifiant le code mais si ce n'est pas concluant je me résoudrai à enlever cette liste de memebres. Ce serait bien dommage je trouve ... mais bon.

Merci à tous pour vos réponses
Pierre


pipo
WRInaute discret
WRInaute discret
 
Messages: 95
Inscription: Mer Mar 12, 2003 20:12

Message le Mer Mar 24, 2004 0:07

textalyser a écrit:je remarque qu'ils mettent tjrs des signes speciaux au debut de leur pseudo,
j'ai vu ça aussi c'est bizarre.

En tous cas il va falloir que j'implémente une solution illico car hier le pollueur s'est déchainé en créant trente membres avec un lien pronographique. Quant internet dérive de cette manière, ça me donne vraiment envie de ne plus m'y intéresser :cry:

Haq
WRInaute accro
WRInaute accro
 
Messages: 2104
Inscription: Jeu Aoû 29, 2002 21:18

Message le Mer Mar 24, 2004 12:25

pipo a écrit:
textalyser a écrit:je remarque qu'ils mettent tjrs des signes speciaux au debut de leur pseudo,
j'ai vu ça aussi c'est bizarre.


C'est logique, ils veulent être dans les premiers par ordre alphabétique. Pour ne pas être sur une page qui na pas ou peu de PR.

pipo a écrit:En tous cas il va falloir que j'implémente une solution illico car hier le pollueur s'est déchainé en créant trente membres avec un lien pronographique. Quant internet dérive de cette manière, ça me donne vraiment envie de ne plus m'y intéresser :cry:


Franchement, c'est pas très compliqué à faire. Si tu pars de mes idées citées plus haut, tu peux faire ça en une heure.

aK.


Twister
WRInaute passionné
WRInaute passionné
 
Messages: 619
Inscription: Ven Jan 16, 2004 14:37

Message le Mer Mar 24, 2004 16:30

Une solution pour éviter que des gens s'inscrivent juste pour que leur url soit affichée est de n'afficher l'url de ton visiteur que s'il a déjà écrit quelques messages.

Voici la procédure à suivre sur phpbb 2.0.6 pour que l'adresse du posteur ne s'affiche que s'il a écrit 10 messages :


Etape 1 : la liste des membres :

Dans le fichier memberlist.php, remplacer
Code: Tout sélectionner
   $www_img = ( $row['user_website'] ) ? '<a href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '';
   $www = ( $row['user_website'] ) ? '<a href="' . $row['user_website'] . '" target="_userwww">' . $lang['Visit_website'] . '</a>' : '';

par
Code: Tout sélectionner
   //affiche l'adresse web si le nombre de messages est superieur à 10
   if ( $posts >= 10 || $userdata['user_level'] == ADMIN )
   {
      $www_img = ( $row['user_website'] ) ? '<a href="' . $row['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '';
      $www = ( $row['user_website'] ) ? '<a href="' . $row['user_website'] . '" target="_userwww">' . $lang['Visit_website'] . '</a>' : '';
   }
   else
   {
      $www_img = 'CAR. D'ESPACEMENT';
      $www = 'CAR. D'ESPACEMENT';
   }      


Etape 2 : le profil du visiteur :

Dans le fichier usercp_viewprofile.php ( dans le dossier includes ), remplacer
Code: Tout sélectionner
$www_img = ( $profiledata['user_website'] ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '&';
$www = ( $profiledata['user_website'] ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww">' . $profiledata['user_website'] . '</a>' : '&';

par
Code: Tout sélectionner
//affiche l'adresse web si le nombre de messages est superieur à 10
if ( $profiledata['user_posts'] >= 10 || $userdata['user_level'] == ADMIN )
{
   $www_img = ( $profiledata['user_website'] ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '&';
   $www = ( $profiledata['user_website'] ) ? '<a href="' . $profiledata['user_website'] . '" target="_userwww">' . $profiledata['user_website'] . '</a>' : '&';
}
else
{
   $www_img = 'CAR. D'ESPACEMENT';
   $www = 'CAR. D'ESPACEMENT';
}         


Etape 3 : les messages du forum :

Dans le fichier viewtopic.php, remplacer
Code: Tout sélectionner
   $www_img = ( $postrow[$i]['user_website'] ) ? '<a href="' . $postrow[$i]['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '';
   $www = ( $postrow[$i]['user_website'] ) ? '<a href="' . $postrow[$i]['user_website'] . '" target="_userwww">' . $lang['Visit_website'] . '</a>' : '';

par
Code: Tout sélectionner
//affiche l'adresse web si le nombre de messages est superieur à 10
if ( $postrow[$i]['user_posts'] >= 10 || $userdata['user_level'] == ADMIN )
{
   $www_img = ( $postrow[$i]['user_website'] ) ? '<a href="' . $postrow[$i]['user_website'] . '" target="_userwww"><img src="' . $images['icon_www'] . '" alt="' . $lang['Visit_website'] . '" title="' . $lang['Visit_website'] . '" border="0" /></a>' : '';
   $www = ( $postrow[$i]['user_website'] ) ? '<a href="' . $postrow[$i]['user_website'] . '" target="_userwww">' . $lang['Visit_website'] . '</a>' : '';
}
else
{
   $www_img = '';
   $www = '';
}            


C'est terminé

Les utilisateurs ne voient l'adresse du posteur que s'il a envoyé plus de 10 messages. En revanche, l'administrateur voit toujours toutes les adresses

IMPORTANT
Dans le code ci-dessus, je n'ai pas pu faire passer les caractères d'espacement. Il faut donc remplacer les CAR. D'ESPACEMENT que j'ai mis par des & n b s p ; (sans espaces)
Dernière édition par Twister le Lun Avr 26, 2004 18:48, édité 1 fois.


pipo
WRInaute discret
WRInaute discret
 
Messages: 95
Inscription: Mer Mar 12, 2003 20:12

Message le Sam Avr 10, 2004 23:57

Merci beaucoup Twister ! Je crois que c'est la manière la plus intelligente de décourager les spammeurs. Gracias


lothar
WRInaute accro
WRInaute accro
 
Messages: 1524
Inscription: Sam Juil 12, 2003 11:42

Message le Mar Fév 22, 2005 19:27

Pour ma part j'ai mis un mod anti-robot, avec création d'une image à recopier. Depuis, plus de problèmes.


Ohax
WRInaute accro
WRInaute accro
 
Messages: 6392
Inscription: Lun Juil 05, 2004 13:30

Message le Mar Fév 22, 2005 19:32

Twister ça marche pour phpbb 2.0.12?

merci à toi ;-)


Twister
WRInaute passionné
WRInaute passionné
 
Messages: 619
Inscription: Ven Jan 16, 2004 14:37

Message le Mer Fév 23, 2005 9:19

Ohax a écrit:Twister ça marche pour phpbb 2.0.12?

merci à toi ;-)

Je n'ai pas essayé sur 2.0.12,
mais si tu trouves le code à modifier, alors ça marchera. De toutes façons, il n'y a pas de raisons pour que ça ait changé.
Dis-le ici si tu testes :wink:

Forum PHPBB : Cooment filtrer les URLs des webmaster ?

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités