comparison comment.php @ 24:b23b8f2a8c91

Lutte anti-spam: on vérifie que le commentaire provient du formulaire du blog
author Franck Deroche <webmaster@defr.org>
date Sat, 27 Oct 2007 11:40:07 +0200
parents 20159d39b8f8
children fa43c43763a2
comparison
equal deleted inserted replaced
23:20159d39b8f8 24:b23b8f2a8c91
10 $Auteur=$Req->get('Auteur'); 10 $Auteur=$Req->get('Auteur');
11 $Adresse=$Req->get('Adresse'); 11 $Adresse=$Req->get('Adresse');
12 $AdresseMail = $Req->get('AdresseMail'); 12 $AdresseMail = $Req->get('AdresseMail');
13 $Comment=$Req->get('Comment'); 13 $Comment=$Req->get('Comment');
14 $DateComment=gmdate("Y-m-d H:i:s", time() + 3600*2); 14 $DateComment=gmdate("Y-m-d H:i:s", time() + 3600*2);
15
16 // Si on essaie d'ajouter un commentaire et que la graine n'est pas bonne
17 if(!empty($Comment) && $_SESSION['commentSeed'] != $Req->get('seed'))
18 die("L'ajout de commentaire doit se faire à partir du formulaire de ce blog");
19
15 if(!is_null($Auteur) && $Auteur!='Votre Nom' && $Auteur != $Adresse && !empty($Comment)) { 20 if(!is_null($Auteur) && $Auteur!='Votre Nom' && $Auteur != $Adresse && !empty($Comment)) {
16 // Prévention d'un "cassage" par ajout d'un commentaire incorrectement formaté 21 // Prévention d'un "cassage" par ajout d'un commentaire incorrectement formaté
17 $ip = $_SERVER['REMOTE_ADDR']; 22 $ip = $_SERVER['REMOTE_ADDR'];
18 $Auteur = str_replace(array('<', '>'), array('&lt;', '&gt;'), $Auteur); 23 $Auteur = str_replace(array('<', '>'), array('&lt;', '&gt;'), $Auteur);
19 if(DOMDocument::loadXML('<comment>' . $Comment . '</comment>')) { 24 if(DOMDocument::loadXML('<comment>' . $Comment . '</comment>')) {
64 } 69 }
65 $commentTpl->setParams($params); 70 $commentTpl->setParams($params);
66 $sk->addBlogPost($commentTpl); 71 $sk->addBlogPost($commentTpl);
67 } 72 }
68 73
69 // Ajout du formulaire d'ajout de commentaires 74 // Génération de la graine (cette dernière permet de s'assurer
75 // que l'essai d'ajout de commentaire provient bien de ce
76 // formulaire, et en conséquence devrait permettre de réduire
77 // le spam.
78 $seed = md5(time() . 'DualBlog');
79 $_SESSION['commentSeed'] = $seed;
80
81 // Ajout du formulaire d'enregistrement de commentaires
70 $commentForm = new Template('commentForm.xml'); 82 $commentForm = new Template('commentForm.xml');
83 $commentForm->setParams(array('#Seed@value' => $seed));
71 $sk->addBlogPost($commentForm); 84 $sk->addBlogPost($commentForm);
72 85
73 echo $sk; 86 echo $sk;
74 ?> 87 ?>