defr/DualBlog
diff comment.php @ 65:434751e80c88
Utilisation de la classe Requete dans tb.php
Cela permet de gérer automatiquement l'ajout des quotes si on a pas de
magic_quotes notamment, empechant les injections SQL :-)
Cela permet de gérer automatiquement l'ajout des quotes si on a pas de
magic_quotes notamment, empechant les injections SQL :-)
| author | Franck Deroche <webmaster@defr.org> |
|---|---|
| date | Tue Mar 11 16:33:07 2008 +0100 (2008-03-11) |
| parents | 25c6e59f019e |
| children | 464f4b94ee27 |
line diff
1.1 --- a/comment.php Tue Mar 11 15:53:15 2008 +0100 1.2 +++ b/comment.php Tue Mar 11 16:33:07 2008 +0100 1.3 @@ -12,22 +12,41 @@ 1.4 $AdresseMail = $Req->get('AdresseMail'); 1.5 $Comment=$Req->get('Comment'); 1.6 $DateComment=gmdate("Y-m-d H:i:s", time() + 3600*2); 1.7 - 1.8 + 1.9 // Si on essaie d'ajouter un commentaire et que la graine n'est pas bonne 1.10 if(!empty($Comment) && $_SESSION['commentSeed'] != $Req->get('seed', null, 't')) 1.11 die("L'ajout de commentaire doit se faire à partir du formulaire de ce blog"); 1.12 - 1.13 - if(!is_null($Auteur) && $Auteur!='Votre Nom' && $Auteur != $Adresse && !empty($Comment)) { 1.14 + 1.15 + if(!is_null($Auteur) && $Auteur!='Votre Nom' && $Auteur != $Adresse && !empty($Comment) && strlen($Comment) > 6 && strpos($Comment, 'xanga') === false) { 1.16 // Prévention d'un "cassage" par ajout d'un commentaire incorrectement formaté 1.17 $ip = $_SERVER['REMOTE_ADDR']; 1.18 $Auteur = str_replace(array('<', '>'), array('<', '>'), $Auteur); 1.19 + 1.20 + /* Akismet */ 1.21 + require_once('akismet.class.php'); 1.22 + $comment = array( 1.23 + 'author' => $Auteur, 1.24 + 'email' => $AdresseMail, 1.25 + 'website' => $Adresse, 1.26 + 'body' => $Comment, 1.27 + 'permalink' => 'http://defr.org/blog/posts/' . $id 1.28 + ); 1.29 + $ak = new akismet('http://defr.org/blog', AKISMET_API_KEY, $comment); 1.30 + if(!$ak->errorsExist()) 1.31 + $visibleBool = !$ak->isSpam(); 1.32 + 1.33 + // Suppression d'un gros lourd 1.34 + $visibleBool &= (ereg('^ma[0-9]+zda$', $Auteur) === false); 1.35 + $visible = $visibleBool ? 1 : 0; 1.36 + 1.37 if(DOMDocument::loadXML('<comment>' . $Comment . '</comment>')) { 1.38 $Data->debugQuery(" 1.39 - INSERT INTO Commentaires(MessId, Auteur, Adresse, AdresseMail, Comment, DateComment, ip) 1.40 - VALUES({$id}, '{$Auteur}', '{$Adresse}', '{$AdresseMail}', '{$Comment}', '{$DateComment}', '{$ip}') 1.41 + INSERT INTO Commentaires(MessId, Auteur, Adresse, AdresseMail, Comment, DateComment, ip, Visible) 1.42 + VALUES({$id}, '{$Auteur}', '{$Adresse}', '{$AdresseMail}', '{$Comment}', '{$DateComment}', '{$ip}', $visible) 1.43 "); 1.44 $Data->Query("UPDATE Mess SET NbCommentaires=NbCommentaires+1 WHERE num_mess={$id}"); 1.45 - mail(ADMIN_MAIL, 'Nouveau commentaire de ' . $Auteur, $Auteur . " vient de mettre en ligne le commentaire suivant: \n" . wordwrap($Comment, 70)); 1.46 + if($visibleBool) 1.47 + mail(ADMIN_MAIL, 'Nouveau commentaire de ' . $Auteur, $Auteur . " vient de mettre en ligne le commentaire suivant: \n" . wordwrap($Comment, 70)); 1.48 } 1.49 else { 1.50 $infos = 'Votre commentaire doit etre fait de XML valide pour apparaitre.';
