Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/09/2007, 10h20   #1
En attente de confirmation mail
 
Inscription : avril 2004
Messages : 83
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 83
Points : 26
Points : 26
Par défaut [SQL] Code de débutant à optimiser

Bonjour à tous,

Je me lance dans le php et viens d'essayer de créer une page dont l'accès se fait par mot de passe. J'ai récolté quelques morceaux de code à gauche à droite pour en arriver à mon code actuel.

Ce code fontionne mais étant débutant, j'imagine qu'il peut être optimisé. Pouvez-vous me donner des astuces pour ce qui ne va pas ? Merci
Code :
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
<html><body>
<? 
	mysql_connect("localhost", "root", ""); // Connexion à MySQL
	mysql_select_db("test"); // Sélection de la base 
 
	$login = @$_POST["log"];
	$retour = mysql_query('SELECT * FROM mdp WHERE login=\'' . $login . '\'');
	$valid = "NO";
 
	while ($donnees = mysql_fetch_array($retour))
	{	
		if(@$_POST["pass"] == $donnees['password'])
			if ($valid == "NO")
				$valid = "YES";
	}
 
	if($valid == "YES") {
?>
 
 
	<h1>CODE DE LA PAGE PRIVEE</h1>
 
 
<? } else {// sinon, le formulaire s'affiche
?>
   <form method="post">
      <table><tr>
	    <p>
		  Login : 
		 <input type="input" name="log"><br />
		  Password : 
		 <input type="password" name="pass">
		 <input type="Submit" value="Entrer">
		 </p>
      </tr></table>
   </form>
<? } ?>
</body></html>
Chop_chop est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2007, 10h27   #2
Candidat au titre de Membre du Club
 
Inscription : février 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 20
Points : 12
Points : 12
Citation:
Envoyé par Chop_chop Voir le message
Bonjour à tous,

Code :
1
2
3
4
5
<html><body>
<? 
	$login = @$_POST["log"];
	$retour = mysql_query('SELECT * FROM mdp WHERE login=\'' . $login . '\'');
?>
Tu peut déjà proteger ta page contre ce qu'on appel le sql injection avec untruc de ce style:

Code :
1
2
 
$get = sprintf("SELECT * FROM mdp WHERE login = '%s';", mysql_real_escape_string($_POST['log']));
De plus apperemment tes mots de passe ne sont pas crypter dans la base de donnée, ce qui baisse trés largement la sécurité de ton site ...
ghost-x est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/09/2007, 11h12   #3
En attente de confirmation mail
 
Inscription : avril 2004
Messages : 83
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 83
Points : 26
Points : 26
Merci ghost-x,

J'ai fait la modif mysql_real_escape_string et maintenant je vais me pencher sur le cryptage de ma BdD de mot de passe

Si il y a d'autres commentaires, n'hésitez pas !
Chop_chop est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h28.


 
 
 
 
Partenaires

Hébergement Web