Mercurial > defr > DualBlog
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('<', '>'), $Auteur); | 23 $Auteur = str_replace(array('<', '>'), array('<', '>'), $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 ?> |