Nous vous proposons ce jour, une solution pour sécuriser joomlaboard.

Introduction et commentaires de l'auteur de ces modifications:


Principe: Lorsqu'on n'est pas loggé sur le site, une entrée supplémentaire *Antispam* est ajoutée dans le formulaire de composition sous les entrées *Nom* et *Sujet* . Elle est préremplie avec un texte qui demande à l'utilisateur de l'effaçer. Si celui-ci ne le fait pas, un pop-up le lui signale, le message ne peut être envoyé tant que ce n'est pas fait. C'est tout.

Largement suffisant, si j'en crois mon expérience, les spameurs utilisant des robots. Inutile d'utiliser des machins compliqués (pénibles à lire) genre Captcha, à moins que vous soyez Google, et que les spammeurs écrivent un script rien que pour vous.

Christophe Esperado


Modifications à effectuer:


Trouver dans le fichier write.html.php (/componants/joomlaboard/) les lignes suivantes:

Code PHP:
if($setFocus==0 && $replyto==0 && ! $fromBot ) {echo "document.postform.subject.focus();"; $setFocus=1;} ?>


Insérer à la suite:

Code PHP:
<?php
if($registeredUser==1) {} else {
echo '<tr><td class="sb_leftcolumn" style="color:red;"><strong>Antispam</strong>:</td><td style="color:red;"><input type="text" class="inputbox" name="antispam" size="35" maxlength="20" value="Effacer ce champ" /><br /><strong> Sinon, vous ne pourrez poster votre message.</strong></td></tr>';
}?>


Trouver dans le fichier  bb.js.php les lignes suivantes:

Code PHP:
formsubject=document.postform.subject.value;
if ((formsubject.length<1)) {
alert("You forgot to enter a subject");
submitme=0;
}


Insérer à la suite:

Code PHP:
formantispam=document.postform.antispam.value;
if ((formantispam.length>0)) {
alert("Vous n'avez pas éffaçé le champ antispam.");
submitme=0;
}
 




A propos de l'auteur
Stéphane Bourderiou
Nom: Stéphane Bourderiou
Fondateur des sites Aide-joomla.fr et SFK
Derniers articles de l'auteur