root/_contribs_/_hebergement_/multispip1/inscription_2.php

Revision 1438, 6.3 kB (checked in by gilles.vincent@…, 3 years ago)

Petite passe pas tres propre sur les injections SQL

Line 
1<?php
2
3$niveauPage= "";
4
5include($niveauPage . "inc_fonctions.php");
6
7// Connection
8include($niveauPage . "inc_connection.php");
9
10// Recuperations des variables
11if (isset($_POST['idAgent']))
12    $idAgent = $_POST['idAgent'];
13else
14    $idAgent = "";
15if (isset($_POST['mdp']))
16    $mdp = $_POST['mdp'];
17else
18    $mdp = "";
19
20?>
21
22<html>
23<link href="css_edf.css" rel="stylesheet" type="text/css">
24<body>
25<table width="600" border="0" cellpadding="1" cellspacing="0" bgcolor="#003366">
26  <tr>
27    <td><table width="100%" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF">
28        <tr>
29          <td><table width="100%" border="0" cellspacing="0" cellpadding="1">
30              <tr>
31                <td bgcolor="#003366"> <table width="100%" border="0" cellpadding="3" cellspacing="0" bgcolor="#003366">
32                    <tr>
33                      <td class="edf7"><strong><font color="#FFFFFF">Inscription
34                        au module de cr&eacute;ation de site de  <?php echo $nom_site; ?> </font></strong><font color="#FFFFFF"><em>(&eacute;tape
35                        2/3)</em></font></td>
36                    </tr>
37                  </table></td>
38              </tr>
39              <tr>
40                <td><img src="images/dot.gif" width="500" height="5"></td>
41              </tr>
42              <tr>
43                <td class="edf11">
44                  <?php
45
46// Verifier les valeurs envoyées
47if (!$idAgent | !check_long($mdp, 4, 10))
48{
49?>
50                  <b>Pour vous inscrire sur Multispip, vous devez choisir votre
51                  nom dans la liste des membre de  <?php echo $nom_site; ?> et choisir un mot de passe
52                  entre 4 et 10 caract&egrave;res. </b><br>
53                  <br>
54                  <a href="inscription.php">Cliquez ici</a> pour revenir &agrave;
55                  la page d'inscription. <br>
56                  <br>
57                  Si vous avez oublié votre mot de passe, contactez <a href="mailto:<?php echo $mdp_synchro; ?>">l'administrateur</a>";
58<?php
59}
60else
61{
62// on retrouve le nom et l'adresse email du membre
63mysql_connect($hote_qfq, $utilisateurBase_qfq, $mdpBase_qfq);
64mysql_select_db($base_qfq);
65settype($idAgent, 'integer');
66$result = mysql_query("select * from personnes where per_id=$idAgent")  or die("la requete (on retrouve le nom et l'adresse email du membre) a echouée parce que : ". mysql_error());
67$row = mysql_fetch_object($result);
68$prenom = $row->per_prenom;
69$nom = $row->per_nom;
70$mail = $row->per_mail;
71
72mysql_free_result($result);
73
74mysql_close();
75
76// on met en base (locale cette fois) le numero de validation
77mysql_connect($hote,$utilisateurBase,$mdpBase);
78mysql_select_db($base);
79
80// Valeur aléatoire pour la confirmation par mail
81$val=rand(0,100000);
82
83//SQL
84
85// Verifier si la personne n'est pas déja inscrite
86
87$verifier = "
88SELECT * FROM inscrits
89where idAgent=$idAgent
90";
91
92// verifier si l'utilisateur n'est pas déja inscrit
93
94$resultVerif= mysql_query($verifier) or die("la requete a echouée parce que : ". mysql_error());
95$rowVerif = mysql_fetch_object($resultVerif);
96$idAgentVerif = $rowVerif->idAgent;
97
98
99if($idAgentVerif)
100    { ?>
101                  <em><b>Apparement, vous êtes déja inscrit</b> <?php echo "$prenom $nom" ?>.<br>
102                  <br>
103                  Si vous avez oublié votre mot de passe, contactez <a href="mailto:<?php echo $mdp_synchro; ?>">l'administrateur</a>";
104<?php }
105
106else
107     {
108
109         // Inscription dans la liste des inscrits de Multispip
110         $nom= mysql_escape_string($nom);
111         $prenom= mysql_escape_string($prenom);
112         $mail= mysql_escape_string($mail);
113         $mdp= mysql_escape_string($mdp);
114         $val= mysql_escape_string($val);
115
116         $inscrire = "
117         INSERT INTO inscrits (IdInscrit,NomInscrit,PrenomInscrit,EmailInscrit,MdpInscrit,idAgent,ValidInscrit)
118         VALUES ('','$nom','$prenom','$mail','$mdp','$idAgent','$val')";
119
120
121         // Insertion du nouvel inscrit dans la base
122         mysql_query($inscrire) or die("la requete a echouée parce que : ". mysql_error());
123
124    // on envoie un mail de confirmation au client
125   
126    // ATTENTION, A FAIRE POUR FAIRE FONCTIONNER LE MAIL SUR Windows, dans PHP.INI, champs SMTP
127   
128    $message= "
129    Votre demande d'inscription sur le site $nom_site a été prise en compte $prenom $nom.\n\n
130    Pensez à noter votre mot de passe : $mdp\n\n
131    Pour valider votre inscription, veuillez cliquer sur ce lien :\n"     
132    . $adresseMultispip
133    . "inscription_valid.php?val="
134    . $val
135    . "&idAgent=$idAgent  (ou le copier dans un navigateur web)\n\n";
136   
137    // Envois du mail de confirmation au nouvel inscrit
138   
139    mail("$mail", "Votre inscription Multispip - $nom_site", $message,
140         "From: $mailAdmin\r\n"
141        ."Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n"
142        ."X-Mailer: PHP/" . phpversion()) or die( "<br /><font color=red>Votre fonction 'mail' semble mal configurée (cf l'aide du Multispip). Voila le contenu du mail qui aurait du être envoyé :</font><br /><br /><s>$message.</s><br /><br /><font color=red>L'utilisateur n'a donc pas été créé.</font><br />");
143   
144    // -> pour les tests (seul l'administrateur reçois le mail)
145   
146    mail("$mailAdmin", "Nouvelle inscription Multispip - $nom_site", $message,
147         "From: $mailAdmin\r\n"
148        ."Reply-To: webmaster@{$_SERVER['SERVER_NAME']}\r\n"
149        ."X-Mailer: PHP/" . phpversion());           
150       
151   
152    ?>
153                  </em>
154                  <p><b>Nous venons de vous envoyer un mail automatique afin de
155                    vérifier votre identité.</b></p>
156                  <p>Pour continuer votre inscription à ce service, il vous suffira
157                    de cliquer sur le lien présent dans ce mail.</p>
158                  <em>
159                  <p>Cette validation est necessaire pour garantir que c'est bien
160                    vous qui utilisez ce service et que vous êtes bien un membre de 
161                    <?php echo $nom_site; ?></p>
162                  <?php     
163       
164    mysql_close();
165    }
166}
167
168?>
169                  </em> </td>
170              </tr>
171              <tr>
172                <td><img src="images/dot.gif" width="500" height="5"></td>
173              </tr>
174            </table></td>
175        </tr>
176      </table></td>
177  </tr>
178</table>
179<br>
180<?php
181// pour les tests
182//    echo "E-mail envoyé à l'inscrit : <p>$message</p>";
183?>
184</body></html>
Note: See TracBrowser for help on using the browser.