pat65300
Messages postés24Date d'inscriptionmercredi 30 novembre 2005StatutMembreDernière intervention22 mai 2007
-
22 mai 2007 à 11:02
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 2007
-
23 mai 2007 à 12:58
je m authenfie et sur cete page je verifie le mot de passe et le login.est ce sur cette page que doit créer ma session? si oui pouvez vous me dire si ce code est juste.
merci d'avance
<?php
session_start();
include("connexion.php");
if (isset($_POST['log'],$_POST['Motpasse'])){
$nom = $_POST['log'];
$passe= $_POST['Motpasse'];
$result=mysql_query("select * from utilisateur where NomMemUti ="$nom" and MotdepasseUti="$passe"");
if($rst=mysql_fetch_assoc($result)){
$_SESSION['$nom'];
echo "
Authentification correcte
";
echo "Passer au Menu";
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014 22 mai 2007 à 11:10
Bonjour
Oui tu peux créer tes variables de session ici, et verifier si elles existent dans les pages où l'authentification est nécessaire.
Je te conseille de remplacer dans ta requête $nom par addslashes($nom) et de faire de même pour le mot de passe. Ca limitera (un peu) les risques d'injection SQL...
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 22 mai 2007 à 15:05
Bonjour,
Petite précision, si tu possède une base de données mysql, préfères plutôt la fonction mysql_real_escape_string à addslashes(). Cette fonction est spécialement conçus pour les base mysql (il doit exister le même style de fonction pour les autres bases de données).
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 22 mai 2007 à 15:05
Bonjour,
Petite précision, si tu possède une base de données mysql, préfères plutôt la fonction mysql_real_escape_string à addslashes(). Cette fonction est spécialement conçus pour les bases mysql (il doit exister le même style de fonction pour les autres bases de données).
J_G
Messages postés1406Date d'inscriptionmercredi 17 août 2005StatutMembreDernière intervention28 août 200710 23 mai 2007 à 12:58
Salut,
Effectivement l'utilisation de mysql_real_escape est primordial !!!!!
Je rajouterais : vérifie que tu ne trouve bien qu'un seul utilisateur... Si tu en trouve deux, ça veut dire qu'il y a bug qque part... Et tu ne peux pas être sûr que le premier utilisateur sorti de ta base (celui que tu choisis avec mysql_fetch_* est vraiment le bon.)
donc :
if ( mysql_num_rows($result) !== 1 ) {
// Gestion erreur ici
// Je te conseil de te faire envoyer un mail, car ce genre d'erreur prouve soit une tentative d'injection URL,
// soit que ta table d'utilisateur est branlantte !!!
mail ( 'ma.pomme@phpcs.fr', 'ERREUR de connexion sur mon.site.web : plusieurs utilisateurs trouvés', print_r($GLOBALS));