Modification de categorizator pour éviter le spam

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


athoms
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Jeu Avr 22, 2004 2:04

Modification de categorizator pour éviter le spam

Message le Mer Jan 24, 2007 13:40

Bonjour à tous.

Juste un petit message pour les utilisateurs de categorizator.
J'ai remarqué qu'il y avait pas mal de spams sur les commentaires de ce script en regardant ma base de données (la table des commentaires).

Au début j'ai commencé a coup de delete des commentaires ayant un http. mais seulement voila, il semblerait que certains spammeurs programment des bots à spams (excusez moi de l'expression) et vous vous retrouvez vite avec des milliers de commentaires remplis de liens.

J'ai même modifié les commentaires pour supprimer tout le html, mais ils n'arrêtent pas (ils essaient même de remplacer le a href par des tags de forum! :-/

Donc voici une petite solution. J'ai juste repris le très bon travail fait par superpj (audiencestv, merci à lui) sur categorizator pour la proposition de site. donc ça ne marchera que sur cette version.

Voila les modifications à apporter au fichier commentaires.php.

à insérer au début du script
après le <?php
if ( isset($_GET['image']) || $_POST['action'] == "add" ) {
session_start();
};
if ( isset($_GET['image']) )
{
// Voici les caractères autorisés pour le code
// (j'ai fait exprès de retirer le chiffre 0 et la lettre O pour parer à toute ambiguïté)
$alphanum = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
// Trouve au hasard un code de 5 caractères
$rand = substr(str_shuffle($alphanum), 0, 5);
// Création d'un hash pour ce code puis injection dans la session
$_SESSION['image_random_value'] = md5($rand);
// Sélectionne au hasard l'image de fond : img/bg1.jpg ou img/bg2.jpg
$image = imagecreatefromjpeg("img/bg".rand(1,2).".jpg");
// Blanc en couleur de fond
$bgColor = imagecolorallocate ($image, 255, 255, 255);
// Noir en couleur de texte
$textColor = imagecolorallocate ($image, 0, 0, 0);
// Ecriture du code dans par-dessus l'image
imagestring ($image, 5, 5, 2, $rand, $textColor);
// Paramètres pour éviter la mise en cache ...
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Définition du type "image"
header('Content-type: image/jpeg');
// Envoi de l'image au navigateur
imagejpeg($image);
// Destruction de l'image pour libérer la mémoire
imagedestroy($image);
exit;
};


Puis après le ($action == "add")

if ($PMA_infos['code_verif']) faux_code($code,"Erreur :Le code de vérification que vous avez entré est incorrect !",true);


Puis intégrer quelque part dans le formulaire (J'ai laissé le tableau par faineantise, a vous de modifier la mise en page)

<? if ($PMA_infos['code_verif']) {?>
<table>
<tr>
<td colspan=2 class="text_before_field_add_annuaire">
<table border=0 cellpadding=0 cellspacing=0 width=1>
<tr>
<td align=center valign=bottom class="text_before_field_add_annuaire" nowrap>
<table border=0 cellpadding=2 cellspacing=0 width=100%>
<tr>
<td align=center valign=bottom class="text_before_field_add_annuaire" nowrap>
Veuillez recopier le code de vérification ci-contre :&nbsp; </td>
</tr>
</table> </td>
<td align=center valign=bottom class="text_before_field_add_annuaire">
<img src=submit_site.php?image border=1 width=60 height=18> </td>
<td align=center valign=bottom class="text_before_field_add_annuaire">
&nbsp;<input type="text" name="code" maxlength=5 size=5> </td>
</tr>
</table> </td>
</tr></table>
<? }; ?>


Voila qui devrait regler le problème

Vous pouvez voir le résultat sur le site de mon profil.

Je vous conseille également de faire un script pour virer le html également.

Bonne journée à tous. :-)


bgdc
WRInaute passionné
WRInaute passionné
 
Messages: 657
Inscription: Lun Mai 23, 2005 20:51

Message le Mer Jan 24, 2007 20:57

j'ai été voir par curiosité, et je ne vois pas l'image. Il y a juste la zone ou l'on demande de saisir le code.

Je suis sous FF.

AdRi1
Nouveau WRInaute
 
Messages: 45
Inscription: Jeu Avr 13, 2006 8:56

Message le Mer Jan 24, 2007 21:14

Les bots savent lire la majorité des captchas, malheureusement.
Deux liens très intéressants sur le décodage des captchas par des robots :
- http://sam.zoy.org/pwntcha/
- http://www.brains-n-brawn.com/default.a ... =aicaptcha

Pose une question de type calcul simple ou culture générale, ça sera plus efficace ;)

Je ne vois pas non plus l'image, et je suis sous Opera.


athoms
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Jeu Avr 22, 2004 2:04

Message le Mer Jan 24, 2007 23:23

Bonjour,

Je viens de me rendre compte que j'avais un petit problème avec mon site. J'avais rajouté des doctype au début et le problème était bien présent sur les commentaires et la soumission de sites. là c'est réparé, j'ai testé sur Firefox et IE (pas opéra sur mon pc). Pour voir le résultat il faut aller par exemple sur un site et cliquer sur rediger un commentaire. avant le commentaire, il y a le message "Veuillez recopier le code de vérification ci-contre".

Par contre je suis d'accord avec AdRi1, les bots savent lire maintenant les captchas :-( mais ça reste à mon avis une protection de niveau moyen facile à mettre en place. Moi je l'ai cumulé, avec le retrait du code html et la pose d'un cookie pour limiter à un commentaire par site et par personne par session.

Maintenant plus de problème :-).

Sinon une autre solution facile également à mettre en place (et utile pour les annuaires actifs). Faire une requete sql du genre "delete from commentaires_sites_annu where commentaire like '%http%' " à chaque fois que vous vous logguez en tant qu'admin ;-)

Le tout cumulé avec les autres méthodes décrites ci-dessus permettront d'éradiquer je pense définitivement les spams :-)


bgdc
WRInaute passionné
WRInaute passionné
 
Messages: 657
Inscription: Lun Mai 23, 2005 20:51

Message le Jeu Jan 25, 2007 10:32

athoms a écrit:Le tout cumulé avec les autres méthodes décrites ci-dessus permettront d'éradiquer je pense définitivement les spams :-)


Amen.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

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