j'ai fait un formulaire pour un livre d'or mais il est pas sécurisé pour un sou.
je décide de mettre un captcha venant du site captcha.fr
voici le code de ma page formulaire.php puis celle de la page ajouter.php qui incorpore les données
le soucis c'est que le formulaire ne vérifie pas la cohérence entre l'image du captcha et le texte que je tape. du coup il insère quand même les infos donc sécurité=0
code de formulaire.php
code de ajouter.php
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 <?php $cryptinstall="./crypt/cryptographp.fct.php"; include $cryptinstall; ?> <? //// On inclut le fichier de connexion à la base SQL //// echo "<html> \n"; echo "<head> \n"; echo "<script language=\"JavaScript\" type=\"text/javascript\"> \n"; echo "function smiley(ajj) \n"; echo "{ \n"; echo "document.form.message.value+=ajj; \n"; echo "} \n"; echo "</script> \n"; //// On inclut le fichier de connexion à la base SQL //// include("inc/connect.php"); echo "<title>Livre d'or - Index</title> \n"; echo "</head> \n"; echo "<body> \n"; echo "<form name=\"form\" method=\"post\" action=\"ajouter.php?SID\">"; echo "<table border=\"0\" align=\"center\" cellpadding=\"2\" cellspacing=\"1\" width=\"400\"> \n"; echo " <tr>\n"; echo " <td colspan=\"2\" class=\"row_1\"> \n"; echo " <b>Poster un commentaire sur le livre d'or</b> \n"; echo " </td> \n"; echo " </tr> \n"; echo " <tr>\n"; echo " <td class=\"row_2\"> \n"; echo " <b>Auteur :</b> \n"; echo " </td>\n"; echo " <td class=\"row_2\"> \n"; echo " <input type=\"text\" name=\"auteur\" class=\"input1\"><font color=red>*</font> \n"; echo " </td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td class=\"row_2\"> \n"; echo " <b>Email :</b> \n"; echo " </td>\n"; echo " <td class=\"row_2\"> \n"; echo " <input type=\"text\" name=\"email\" class=\"input1\"><font color=red>*</font> \n"; echo " </td> \n"; echo " </tr> \n"; echo " <tr> \n"; echo " <td valign=\"top\" class=\"row_2\"> \n"; echo " </td> \n"; echo " <td valign=\"top\" class=\"row_2\"> \n"; echo " <b>Commentaire :</b><br> \n"; echo " <textarea name=\"message\" wrap=\"VIRTUAL\" cols=\"40\" rows=\"6\" class=\"input1\"></textarea><font color=red>*</font><br> \n"; echo " </td> \n"; echo " </tr> \n"; echo "<tr>"; echo '<td align="center">'; dsp_crypt(0,1); echo '</td>'; echo '</tr>'; echo '<tr>'; echo '<td align="center">Recopier le code:<br><input type="text" name="code">'; echo '</td>'; echo '</tr>'; echo " <tr>\n"; echo " <td colspan=\"2\" class=\"row_1\">\n"; echo " <input type=\"submit\" value=\"Envoyer\" class=\"input2\"> <font color=red>*</font> Champs obligatoires\n"; echo " </td>\n"; echo " </tr>\n"; echo "</table>\n"; echo "</form>\n"; ?>
merci d'avance
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 <?php $cryptinstall="./crypt/cryptographp.fct.php"; include $cryptinstall; ?> <? include("/crypt/verifier.php"); //// On vérifie que les champs auteur et commentaire sont bien remplis //// $_POST['message']=trim($_POST['message']); $_POST['auteur']=trim($_POST['auteur']); if(empty($_POST['auteur']) || empty($_POST['message'])) { echo "Erreur \n"; } else { //function checkmail ($email) { //if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $email)) { // return true; //}else { // return false; //// On inclut le fichier de connexion à la base SQL //// include("inc/connect.php"); //// Récupération de la date actuelle //// $date=date("d/m/Y H:i"); //// On récupère l'adresse IP du visiteur //// $ip="$_SERVER[REMOTE_ADDR]"; //// On nettoie le commentaire et le pseudo //// if($html=="non") { $_POST['message']=ereg_replace("<[^>]*>", "", $_POST['message']); $_POST['message']=htmlspecialchars($_POST['message']); } $_POST['message']=stripslashes($_POST['message']); $_POST['message']=str_replace(chr(10)," <br> ",$_POST['message']); $_POST['message']=str_replace(chr(13),"",$_POST['message']); $_POST['auteur']=htmlspecialchars($_POST['auteur']); $_POST['email']=htmlspecialchars($_POST['email']); //// Connexion à la base mySQL //// @MYSQL_CONNECT($serveur,$utilisateur,$mdp) or die ("Connexion impossible"); @MYSQL_SELECT_DB($db) or die ("Connexion à la base $base impossible"); //// On insère le nouveau commentaire //// mysql_query("INSERT INTO nanda_messages VALUES (\"\",\"$_POST[auteur]\",\"$date\", \"$_POST[email]\", \"$_POST[message]\",\"$ip\")"); echo "<meta http-equiv=\"refresh\" content=\"0;url=http://www.last-chronicle.com/Nanda/frame.php?go=5\">\n "; //// On ferme la connexion à la base mySQL //// mysql_close(); } ?>
Partager