Bonjour.
J'ai développé un script de commentaire que voici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<?php
$moyenne1 = mysql_query("SELECT AVG(note) AS moyenne FROM commentaires") or die (mysql_error());
$moyenne = mysql_fetch_array($moyenne1);
$noteMoyenne = round($moyenne['moyenne'], 2);
echo 'Note moyenne : <b>'.$noteMoyenne.'</b><br /><br />';
 
//DEBUT DU CODE PHP POUR LES COMMENTAIRES
$page = $_SERVER['SCRIPT_NAME'];
 
include("../mysql_connect.php");//CHEMIN A MODIFIER SELON LA PAGE
if($_POST['pseudo'] != "" AND $_POST['note'] != "" AND $_POST['commentaire'] != "" AND $_POST['email'] !="" AND preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']) AND $code == $_SESSION['total'])
{
	$date = date('d/m/Y\- H\:i');
	$pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));	
	$note = $_POST['note'] ;	
	$email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
	$commentaire = mysql_real_escape_string($_POST['commentaire']);
 
	$commentaire = preg_replace('#(.+)#i', '<b>$1</b>', $commentaire);
 
	$commentaire = preg_replace('#(.+)#i', '<u>$1</u>', $commentaire);
 
	$commentaire = preg_replace('#(.+)#i', '<i>$1</i>', $commentaire);
 
	$commentaire = preg_replace('#<barre>(.+)</barre>#i', '<strike>$1</strike>', $commentaire);
 
	$commentaire = preg_replace('#<centre>(.+)</centre>#i', '<center>$1</center>', $commentaire);
 
	$commentaire = preg_replace('#;\)#', '<img src="images/clin-oeil.gif" alt="smiley" />', $commentaire);
 
	$commentaire = preg_replace('#:D#', '<img src="images/grand-sourire.gif" alt="smiley" />', $commentaire);
 
	$commentaire = preg_replace('#:!:#', '<img src="images/exclamation.gif" alt="smiley" />', $commentaire);
 
	$commentaire = preg_replace('#=>#', '<img src="images/fleche.gif" alt="smiley" />', $commentaire);
 
	$commentaire = preg_replace('#:énervé:#', '<img src="images/enerver.gif" alt="smiley" />', $commentaire);
 
	$commentaire = preg_replace('#:étonné:#', '<img src="iimages/etoner.gif" alt="smiley" />', $commentaire);
 
	$commentaire = preg_replace('#:diable:#', '<img src="images/diable.gif" alt="smiley" />', $commentaire);
 
	$commentaire = preg_replace('#:cool:#', '<img src="images/cool.gif" alt="smiley" />', $commentaire);
 
	mysql_query("INSERT INTO commentaires VALUES('', '$date', '$email', '$page', '$pseudo', '$note', '$commentaire')") or die(mysql_error());
	echo'<p>Votre commentaire a bien été ajouté.<br /><br /><br /><br /><br /></p>';
}	
 
 
	$reponse = mysql_query("SELECT * FROM commentaires WHERE page='$page' ORDER BY id DESC") or die(mysql_error());
	while($donnees = mysql_fetch_array($reponse))
	{
	/* LE CODE 
	                      HTML EST
						A MODIFIER CI DESSOUS
									 (pour le présentation des coms)
*/	?><br />
	<hr /><br />
	<b><?php echo $donnees['pseudo']?></b> le <?php echo $donnees['date'] ?>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b><?php echo $donnees['note'] ?></b> /20 <br />
	<br /><?php echo stripslashes($donnees['commentaire']) ?><br />
    <?php
	}
	?>
 
 
<br /><br />
<br /><p>Pour ajouter un commentaire, merci de remplir <b>tous</b> les champs.<br/><br/>
<form name="commentaires" action="<?php echo $page ?>#commentaires" method="POST">
</div>
 
<label for="pseudo">Pseudo </label>: <input type="text" id="pseudo" name="pseudo" value="<?php echo $_POST['pseudo'] ?>" /><br/><br/>
<label for="email">E-mail(Votre e-mail n'est pas diffusé) </label>: <input type="text" id="email" name="email" value="<?php echo $_POST['email'] ?>" /><br/><br/>
Note : 
<select name="note">
<option value="00">00</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select> / 20<br /><br />
<label for="message">Commentaire </label>:
<br />
 
<div>
        <p>
          <span>
            <input type="button" value="Gras" onclick="insertTag('', '', 'commentaire')" /> 
            <input type="button" value="Souligner" onclick="insertTag('', '', 'commentaire')" /> 
            <input type="button" value="Barrer" onclick="insertTag('<barre>', '</barre>', 'commentaire')" /> 
            <input type="button" value="Italique" onclick="insertTag('', '', 'commentaire')" /> 
            <input type="button" value="Centrer" onclick="insertTag('<centre>', '</centre>', 'commentaire')" /> </br/><br/><br/>
			&nbsp;&nbsp;&nbsp <img src="images/clin-oeil.gif" onclick="insertTag(';)', '', 'commentaire')" /> 
			<img src="images/grand-sourire.gif" onclick="insertTag(':D', '', 'commentaire')" /> 
			<img src="images/exclamation.gif" onclick="insertTag(':!:', '', 'commentaire')"/>
			<img src="images/fleche.gif" onclick="insertTag('=>', '', 'commentaire')"/>
			<img src="images/enerver.gif" onclick="insertTag(':énervé:', '', 'commentaire')"/> 
            <img src="images/etoner.gif" onclick="insertTag(':étonné:', '', 'commentaire')"/> 
        	<img src="images/diable.gif" onclick="insertTag(':diable:', '', 'commentaire')"/> 
			<img src="images/cool.gif" onclick="insertTag(':cool:', '', 'commentaire')"/> 
 
          </span>
        </p>
      </div>
	  <span>
<textarea style="margin-left: 7px; font-size: 1em;" rows="12" cols="50" id="commentaire" name="commentaire">
<?php echo $_POST['commentaire'] ?>
</textarea>
<br /><br />
<u><b>Anti-spam :</b></u><br/><br/>
 
Entrez ci-dessous le résultat de cette opération mathématique : <?php echo $un ?> + <?php echo $deux ?>
 
 
<input type="text" name="code"  style="margin-left: 7px;" value="<?php echo $_POST['code']?>"/><br /><br />
<?php if(isset($_POST['code']) AND $_POST['code'] != $_SESSION['un'] + $_SESSION['deux']){ echo'<span style="color: Red;">Erreur</span>';} ?>
<center><input type="submit" value="Envoyer le commentaire" /></center>
<?php
 
 
//FIN DU CODE PHP
?>
Mais depuis peu, une personne fait des injections Javascript de redirection...
Comment s'en protéger ?
merci