phpBB-premod.com Index du Forum
Portail  •  Forum  •  Profil  •  Rechercher   •  S'enregistrer  •  Se connecter pour vérifier ses messages privés  •  Connexion   

 Premier point: lutte contre les inscriptions automatisées

Poster un nouveau sujetRépondre au sujet
Auteur Message
Cyril
Administrateur



Civilité:
Age: 39
Inscrit le: 07 Nov 2006
Messages: 303
Localisation: Montpellier


france.gif

MessagePosté le: 23.03.2007, 22:21    Premier point: lutte contre les inscriptions automatisées Répondre en citantRevenir en haut de page

Bonsoir à tous et à toutes

phpBB souffre par nature d'un problème récurent:
- des robots peuvent s'inscrire de manière automatique sur le forum, allant même jusqu'à pouvoir poster sur le forum un message ( incroyable mais vrai )

Par expérience en matière de CMS, ceci me parait purement impensable et montre malheureusement un défaut de construction initial de phpbb Sad

Orion est doté d'origine de l'utilitaire Ctracker qui lutte ( entre autre ) contre ce style de processus, mais malheureusement comme on a pu le constater ces jours derniers le forum s'est retrouvé spammé

alors en petit poucet, je me suis amusé à mettre un pistage de tout ce qui se passe sur le site et là surprise !!
1) quelqu'un s'inscrit ( robot ou pas , ça je ne sais pas ) avec une adresse email valide
2) la même IP ( donc a supposer la même machine ) quelques minutes après valide l'inscription par le lien envoyé dans le mail ( j'ai le log de tous les comptes créés récemment )
3) une fois le compte activé par ce lien, un message est posté directement sur le forum ( certainement un script pour ça )

Mais entre la bphase 1 et la phase 3, il y a bien intervention humaine ou alors il faudrait penser que des petits malin se sont amusés créer un script capable de lire le code captcha, puis de répondre à un mail et finalement de balancer un mail sur le forum !

Chose qui me parait plus qu'improbable et pourquoi !!

Tout simplement pour une bonne raison : plusieurs comptes ces derniers jours ont été créé par la même rangée d'ip ( 87.118.*.* )
et il me parait fort improbable que plusieurs personne avec le même bloc d'IP s'amusent à générer du spam, ce qui laisse à penser une personne, ou un petit groupe ??

Dans tous les cas, tous les forum de type phpBB sont touchés ce phénomène, perso je n'ai pas vu de solution toute prête actuellement pour lutter contre ça, mais si quelqu'un connait un soupçon de solution je suis premneur plutôt que de rechercher dans le code où le problême se situe

En attendant vous pouvez déjà bannir cette rangée d'IP dans cTracker !

_________________
Orion n'est pas qu'un simple forum, c'est bien plus que ça ...

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateur    
Sultop




Civilité:
Age: 45
Inscrit le: 25 Fév 2007
Messages: 27
Localisation: Saint-Georges-de-Beauce


canada.gif

MessagePosté le: 23.03.2007, 23:02    (Aucun sujet) Répondre en citantRevenir en haut de page

Salut Cyrill, j'espère que tu vas bien. Je me souviens avoir déjà lu sur un site php québécois, qu'un développeur avait créé un script qui changeait les boutons qui valide les post et les enregistrements des membres par du Javascript. Ce qui aurait supposément pour effet de rendre invisible les boutons face aux robots, mais pas pour les Humains.

J'ai un peu de temps ce soir, je vais rechercher ce site et te donner le lien pour que tu y jette un coup d'oeil.

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéVisiter le site web de l'utilisateurYahoo MessengerMSN Messenger    
Sultop




Civilité:
Age: 45
Inscrit le: 25 Fév 2007
Messages: 27
Localisation: Saint-Georges-de-Beauce


canada.gif

MessagePosté le: 23.03.2007, 23:11    (Aucun sujet) Répondre en citantRevenir en haut de page

Finalement ce fut facile, voici les liens :

http://www.webmasterquebec.com/article/2006/10/16/solution-maison-contre-le-spam-phpbb/

http://www.webmasterquebec.com/article/2006/12/16/phpbb-publique-et-sans-spam/

Jettes un coup d'oeil et donnes moi ton feelling sur ces scripts SVP.

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéVisiter le site web de l'utilisateurYahoo MessengerMSN Messenger    
Cyril
Administrateur



Civilité:
Age: 39
Inscrit le: 07 Nov 2006
Messages: 303
Localisation: Montpellier


france.gif

MessagePosté le: 24.03.2007, 00:24    (Aucun sujet) Répondre en citantRevenir en haut de page

Je ne sais pas si cela vient de moi, mais je n'accède pas à ce site Sad
_________________
Orion n'est pas qu'un simple forum, c'est bien plus que ça ...

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateur    
Sultop




Civilité:
Age: 45
Inscrit le: 25 Fév 2007
Messages: 27
Localisation: Saint-Georges-de-Beauce


canada.gif

MessagePosté le: 24.03.2007, 00:39    (Aucun sujet) Répondre en citantRevenir en haut de page

« Cyril » a écrit:
Je ne sais pas si cela vient de moi, mais je n'accède pas à ce site Sad


Dans mon cas je vient de vérifier les liens et ils fonctionnent mais voici tout de même les textes en copier coller.

Spoiler: 
Depuis quelques mois déjà, une bien dérangeante réalité s’était fait sentir sur plusieurs de mes forums phpBB. Les webmasters gérant ce type de forum doivent assurément savoir de quoi je parle… Le phpBB-Spam! Ces p’tits maudits robots qui se crée des compte à tous les jours sur mes forums et qui lancent de la publicité à gauche et à droite en se faisant croire que je ne les supprimerai pas…

J’ai essayer d’installer quelques plugins. Même Bad-Behavior pour phpBB n’a pas fonctionné.. Comme je n’ai pas réussi à éradiquer le problème avec les solutions existantes alors j’ai decidé de programmer ma propre solution à ce problème.

Voici la procédure à suivre :

1) Modifier le fichier includes/usercp_register.php
Vers la ligne 271, vous devriez voir un bout de code ressemblant à ceci.

else if ( $mode == 'register' )
{

Maintenant, il suffit d’ajouter ce bout de code en dessous du {

// Vérification de faux navigateurs.
if ($mode == 'register' && $_GET['jcheck'] != 'mspam') {
message_die(GENERAL_MESSAGE, 'Votre navigateur a été détecter comme spam. Veuillez contacter l\'administrateur du forum s\'il s\'agit d\'un erreur.', '', __LINE__, __FILE__);
}

2) Ajouter une fonction javascript à votre modèle de page
Il vous faut maintenant inclure un petit bout de code JavaScript que les robots ne sauront comprendre.
Ouvrez le fichier templates/nom_du_template/overall_header.tpl et ajouter cette fonction JavaScript.

function testDetect() {
window.document.getElementById('myformregister').action = 'profile.php?jcheck=mspam';
}

3) Modifier maintenant le code HTML de votre page profil
Ouvrez le fichier templates/nom_du_template/profile_add_body.php

Effectuer une recherche pour vous retrouvez vers cette ligne :

<form action="{S_PROFILE_ACTION}" {S_FORM_ENCTYPE}

Remplacez le code HTML de la balise <form> par celui-ci.

<form action="{S_PROFILE_ACTION}" {S_FORM_ENCTYPE} name="myformregister" id="myformregister" method="post" name="profile">

Dernière étape :
Effectuer une recherche pour vous retrouvez vers cette ligne :

<input type="submit" name="submit"

Remplacez le code HTML du bouton «submit» par celui-ci :

<input type="submit" name="submit" value="{L_SUBMIT}" class="liteoption" onclick="testDetect();" />

Vous ne devriez plus être ennuyé par le spam sur phpBB!

- Matt

Publié Forum phpBB |
Vous pouvez suivre les réponses reçues par cet article grâce au fil RSS 2.0.
s Vous pouvez laisser un commentaire, ou faire un trackback depuis votre site.
23 réponses à “Solution maison contre le spam phpBB”
Frank répond:
23 octobre 2006 à 2:45 pm

ca semble fonctionner très bien sur mon forum ;0)

Merci Matt Smile
Webmaster du Québec » Trucs et Astuces » Activer la notification des réponses par défault répond:
20 novembre 2006 à 1:23 pm

[…] « Solution maison contre le spam phpBB […]
boiss répond:
27 novembre 2006 à 2:28 pm

De loin la solution la plus simple et efficace contre les maudit robots qui spam les système PHPBB!

Bravo Matt!

Continue comme ca !
Webmaster du Québec » Trucs et Astuces » phpBB publique et sans spam répond:
16 décembre 2006 à 5:18 pm

[…] Suite à mon billet sur ma solution maison contre le spam phpBB, j’ai eu certains commentaires de mes confrères Webmaster comme quoi que la solution ne pouvait pas s’appliquer à leur forum car il acceptait les commentaires «Invité» sur son forum… […]
SkyPat répond:
16 janvier 2007 à 4:33 pm

Help Help ca marche pas sur mon forum, il bloque chaque inscription et de plus je ne trouve pas le fichier overall_header.php mais overall_header.tpl et à quelle endroit du fichier on doit coller :
function testDetect() {
window.document.getElementById(’myformregister’).action = ‘profile.php?jcheck=mspam’;
}

Merci merci de m’aider
Matt répond:
16 janvier 2007 à 4:38 pm

Salut Skypat,

Je m’excuse c’est en effet overall_header.tpl et non pas .php, j’ai effectué la correction de l’article.

Tu dois inclure le code de la function en dedans des balises head et script dans overall_header.tpl

<head>
<script language="javascript">
function testDetect() {
window.document.getElementById('myformregister').action = 'profile.php?jcheck=mspam';
}
</script>
</head>

Je suis aller voir ton site, et je crois que c’est tout ce qui manque… essaie ça et ça devrait fonctionner!

Merci

- Matt


Spoiler: 
Suite à mon billet sur ma solution maison contre le spam phpBB, j’ai eu certains commentaires de mes confrères Webmaster comme quoi que la solution ne pouvait pas s’appliquer à leur forum car il acceptait les commentaires «Invité» sur son forum…

Personnellement, je n’ai jamais accepté les commentaires invité sur mes forums car je trouvais que ça ouvrait la boîte de Pandore pour un méchant paquet de cochonnerie… mais ce Webmaster que je respecte beaucoup avait l’air à dire que d’allouer les invités sur son forum stimulait grandement les réponses!

Étant donné que comme tout Webmaster digne de ce nom, j’aime bien stimuler les réponses aux sujets… J’ai décidé que s’il fallait stimuler et bien j’allais stimuler… et sans cochonnerie MERCI!

Première étape :
Je vais vous épargner les détails car vous êtes des grands garçons… Cela consiste à ajuster les permissions de vos forums à «Public»

Deuxième étape :
Modifier le fichier includes/functions_post.php
Vers la ligne 216, vous devriez voir un bout de code ressemblant à ceci.

function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length)
{

Maintenant, il suffit d’ajouter ce bout de code en dessous du {

if ($_GET['jcheck']!='mspam') {
message_die(GENERAL_MESSAGE, 'Votre navigateur a été détecter comme spam. Veuillez contacter l\'administrateur du forum s\'il s\'agit d\'un erreur.', '', __LINE__, __FILE__);
}

Troisième étape :
Modifier le fichier templates/nom_du_template/posting_body.tpl

J’ai baptisé la première partie de la modification de posting_body.tpl, «Pousse pas ta luck!»… En fait, elle empêche l’invité de poster comme invité. Il devrait absolument donner se donner un pseudonyme avant d’écrire son message.

Donc, vers la ligne 75 vous devriez trouver un bout de code ressemblant étrangement à ceci :

function checkForm() {
formErrors = false;

Ajoutez en DESSOUS,

<!-- BEGIN switch_username_select -->
if (document.post.username.value.length < 3) {
formErrors = "Vous devez spécifier un nom d'usager avant de publier votre message. Il est préférable de se créer un compte avant de publier vos textes. Regardez dans le coin droit de l'écran pour le bouton «S'enregistrer».";
}
<!-- END switch_username_select -->

Maintenant, toujours dans le fichier posting_body.tpl, ajouter le code JavaScript suivant, essentiel à l’anti-spam et que les robots ne pourront détecter.

function postDetect() {
window.document.getElementById('myformposting').action = 'posting.php?jcheck=mspam';
}

Toujours dans le même posting_body.tpl
Effectuer une recherche pour vous retrouvez vers cette ligne :

<form action="{S_POST_ACTION}" method="post" name="post"

Remplacez le code HTML de la balise <form> par celui-ci.

<form action="{S_POST_ACTION}" method="post" name="post" id="myformposting" onsubmit="return checkForm(this)">

La dernière étape :
Toujours au sein du fichier posting_body.tpl

Effectuer une recherche pour le code suivant..

<input type="submit"

Et remplacer le code HTML des deux boutons (Prévisualiser, et publier) par ceci :

<input type="submit" tabindex="5" name="preview" class="mainoption" value="{L_PREVIEW}" onclick="postDetect();" /> <input type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="{L_SUBMIT}" onclick="postDetect();" />

À partir d’aujourd’hui, vous devriez avoir un forum phpBB à l’abris des spammeurs, qui accepte les usagers «Invité» tout en les forcant à se donner un pseudonyme avant la publication de leurs messages.

Merci!

- Matt

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéVisiter le site web de l'utilisateurYahoo MessengerMSN Messenger    
Cyril
Administrateur



Civilité:
Age: 39
Inscrit le: 07 Nov 2006
Messages: 303
Localisation: Montpellier


france.gif

MessagePosté le: 24.03.2007, 00:41    (Aucun sujet) Répondre en citantRevenir en haut de page

Merci !!

je viens de mettre en place déjà ceci en attendant !
www.geckozone.org/forum/viewtopic.php?p=138783#138783

je vais regarder ce que tu viens de transmettre Smile

_________________
Orion n'est pas qu'un simple forum, c'est bien plus que ça ...

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateur    
Sultop




Civilité:
Age: 45
Inscrit le: 25 Fév 2007
Messages: 27
Localisation: Saint-Georges-de-Beauce


canada.gif

MessagePosté le: 24.03.2007, 01:04    (Aucun sujet) Répondre en citantRevenir en haut de page

Merci pour ce truc. Ça fonctionne sur mon forum
Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéVisiter le site web de l'utilisateurYahoo MessengerMSN Messenger    
Cyril
Administrateur



Civilité:
Age: 39
Inscrit le: 07 Nov 2006
Messages: 303
Localisation: Montpellier


france.gif

MessagePosté le: 24.03.2007, 13:15    (Aucun sujet) Répondre en citantRevenir en haut de page

salut

à priori cette nuit pas de création de 'comptes en bois', ceci laisserait à penser que le seul fait d'interdire de mettre une url lors de l'inscription freine ce process, marrant quand même !

il manque une chose en fait dans orion, c'est le fait d'être averti par mail ou MP de tout nouveau compte, ceci permettrait justement de se tenir au courant au moins des allez-venus sur le forum

_________________
Orion n'est pas qu'un simple forum, c'est bien plus que ça ...

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateur    
Sultop




Civilité:
Age: 45
Inscrit le: 25 Fév 2007
Messages: 27
Localisation: Saint-Georges-de-Beauce


canada.gif

MessagePosté le: 24.03.2007, 13:55    (Aucun sujet) Répondre en citantRevenir en haut de page

Sur mon forum, Les comptes sont autorisé par un admin. Mais là ou j'ai quelques problèmes, c'est pour les commentaires laissé par les visiteurs, puisque je les autorises, de là mon besoin de la confirmation visuelle sur la réponse rapide. Je n'ai toujours pas trouver d'addon qui corrige ça.
Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéVisiter le site web de l'utilisateurYahoo MessengerMSN Messenger    
Cyril
Administrateur



Civilité:
Age: 39
Inscrit le: 07 Nov 2006
Messages: 303
Localisation: Montpellier


france.gif

MessagePosté le: 24.03.2007, 14:08    (Aucun sujet) Répondre en citantRevenir en haut de page

ah oui je comprend ce que tu recherches, mettre le code captcha d'inscription sur le 'réponse rapide'

je connais un truc excellent, qui ne devrait pas être très sorcier à mettre en place :
www.cryptographp.com

c'est personnalisable, et surtout comme ce n'est pas une intégration native, il est beaucoup plus dur pour une personne mal intentionnée de passer outre !

perso je l'utilise sur des sites web 'hors cms public' avec succès, peut être que ce type de script pourrait répondre a tes attentes ?

_________________
Orion n'est pas qu'un simple forum, c'est bien plus que ça ...

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateur    
Sultop




Civilité:
Age: 45
Inscrit le: 25 Fév 2007
Messages: 27
Localisation: Saint-Georges-de-Beauce


canada.gif

MessagePosté le: 24.03.2007, 17:32    (Aucun sujet) Répondre en citantRevenir en haut de page

Merci Cyril, Je vais l'intégrer à la réponse rapide. Du moins je vais essayer. lol Les instructions sont clair sur le site.
Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéVisiter le site web de l'utilisateurYahoo MessengerMSN Messenger    
Cyril
Administrateur



Civilité:
Age: 39
Inscrit le: 07 Nov 2006
Messages: 303
Localisation: Montpellier


france.gif

MessagePosté le: 25.03.2007, 00:06    (Aucun sujet) Répondre en citantRevenir en haut de page

Dans la même idée de solution que le site web cité ci-dessus à savoir ajouter ceci:



      if ( !empty($website) )
      {
         $error = TRUE;
         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . "Spammers are *not* allowed!<br />Afin d'éviter l'inscription de spammers, veuillez ne pas mettre d'adresse web lors de votre inscription. Vous pourrez remplir ce champ plus tard.";
      }


juste après ceci:

else if ( $mode == 'register' )
   {
      if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )
      {
         $error = TRUE;
         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
      }



il serait de bonne augure de filtrer aussi deux autres variables :
- $occupation
- $interests


ce qui donnera ces deux portions de codes:



      if ( !empty($occupation) )
      {
         $error = TRUE;
         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . "Spammers are *not* allowed!<br />Afin d'éviter l'inscription de spammers, veuillez ne pas mettre d'occupation web lors de votre inscription. Vous pourrez remplir ce champ plus tard.";
      }




      if ( !empty($website) )
      {
         $error = TRUE;
         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . "Spammers are *not* allowed!<br />Afin d'éviter l'inscription de spammers, veuillez ne pas mettre d'intérêts lors de votre inscription. Vous pourrez remplir ce champ plus tard.";
      }


ceci est à faire dans le fichier includes/usercp_register.php et permet de s'assurer que lors de l'inscription les robots le puissent pas remplir les champs URL, occupation et intérêt, champs qui ont l'air d'être remplis à chaque fois !!

voili, voilà pour ce soir

Sinon pour contrôler j'ai rajouté ce soir un contrôle de validité d'adresse email par contrôle du MX, A ET CNAME du nom de domaine, ce qui implique qu'un nom de domaine inexistant ne peut plus créer de compte ( enfin logiquement )


Dernier conseil du soir, dans le même fichier en ligne 734 du fichier d'origine, vous trouverez ceci :



 $sql .= "1, '')";



mettez plutôt ceci :


 $sql .= "0, '')";


ce qui mettra obligatoirement par défaut un nouveau compte en compte inactif, et impliquera une validation manuelle de la création du compte avant toute création de fil de discussion

_________________
Orion n'est pas qu'un simple forum, c'est bien plus que ça ...

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateur    
Cyril
Administrateur



Civilité:
Age: 39
Inscrit le: 07 Nov 2006
Messages: 303
Localisation: Montpellier


france.gif

MessagePosté le: 25.03.2007, 17:18    (Aucun sujet) Répondre en citantRevenir en haut de page

As tu implémenté ce code sultop ??

as tu réussi à mettre le code ??

_________________
Orion n'est pas qu'un simple forum, c'est bien plus que ça ...

Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéEnvoyer un e-mailVisiter le site web de l'utilisateur    
Sultop




Civilité:
Age: 45
Inscrit le: 25 Fév 2007
Messages: 27
Localisation: Saint-Georges-de-Beauce


canada.gif

MessagePosté le: 25.03.2007, 19:34    (Aucun sujet) Répondre en citantRevenir en haut de page

Non je n'ai pas pris le temps pour le faire. Ici le printemps pointe le bout de son nez. J'ai deux fillettes qui ne demande qu'à sortir. Je ne fait que de brève apparitions entre 2 sorties. Mais je te rassure, je vais le faire.
Hors ligneVoir le profil de l'utilisateurEnvoyer un message privéVisiter le site web de l'utilisateurYahoo MessengerMSN Messenger    
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet


 Sauter vers:   



Consulter les permissions


Panneau de Sécurité

10348 Attaques bloquées

Hebeh.com, l hébergeur des connaisseurs
Powered by Orion based on phpBB © 2001, 2007 phpBB Group
CBACK Orion Style based on FI Theme
Retrouvez les infos sur Google Groups phpBB Premod
Projet Open Source hébergé par www.hebeh.com
Toutes les heures sont au format GMT + 1 Heure


[ Page generation time: 0.0455s (PHP: 90% - SQL: 10%) | SQL queries: 14 | GZIP disabled | Debug on ]