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
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