IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Possiblité de rentrer dans mon site sans mot de passe


Sujet :

Langage SQL

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Possiblité de rentrer dans mon site sans mot de passe
    Bonjour tout le monde,

    J'ai cette chaine SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ChaineConnexion = "SELECT * FROM professeurs WHERE MATRICULE_PROF LIKE '" . $_SESSION['Matricule'] . "' AND LOGIN2 LIKE '". $_SESSION['loginprof'] . "' AND MDP2 LIKE '$MotDePasseCrypte' OR MDP_ADMIN LIKE 'graduat' ";
    Le problème est qu'avec cette chaine sql, le visiteur tape le matricule et le login, si ces deux informations sont correctes, il peut appuyer sur le bouton sans mettre de mot de passe, il entre dans le site

    Voici le code de la page :

    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
    <?php
    	session_start();
    	include("../Scripts/connexion.php");
    	//j'évite l'injection SQL
    	$_SESSION['loginprof'] = mysql_real_escape_string($_REQUEST['txtlogin']); 
    	$_SESSION['Matricule'] = mysql_real_escape_string($_REQUEST['txtmatricule']);
     
    	$_REQUEST['txtmdp'] = mysql_real_escape_string($_REQUEST['txtmdp']);
    	//je hash le mot de passe entr par l'utilisateur en sha1 afin de pouvoir le comparer avec le mot de passe se trouvant dans la bd qui lui est aussi ash. 
    	$MotDePasseCrypte = sha1($_REQUEST['txtmdp']);
     
    	$ChaineConnexion = "SELECT * FROM professeurs WHERE MATRICULE_PROF LIKE '" . $_SESSION['Matricule'] . "' AND LOGIN2 LIKE '". $_SESSION['loginprof'] . "' AND MDP2 LIKE '$MotDePasseCrypte' OR MDP_ADMIN LIKE 'graduat' ";
    	echo $ChaineConnexion;
     
    	$resultat = mysql_query($ChaineConnexion)or exit(mysql_error());//mysql_query permet d'excuter la requte passe en paramtre
    	$num_rows = mysql_num_rows($resultat) or exit(mysql_error());
     
    	$afficher = mysql_fetch_array($resultat);
     
    	if($num_rows > 0) //si le nombre de ligne retourne par la requte est suprieur  zero
    	{
    		if($afficher["TYPE_DE_VISITEUR"] == "Utilisateur") 
    		{ 
    			$_SESSION['TypeVisiteur'] = "Utilisateur"; 
    			header("Location: ../EntreeDeDonnees.php");
    		} 
    	else 
    		{ 
    			$_SESSION['TypeVisiteur'] = "Administrateur"; 
    			header("Location: ../EntreeDeDonnees.php?select_Nom_Tables=".$_SESSION['LaTable']);
    		}
    	}
    ?>
    Merci d'avance pour votre aide.

    beegees

  2. #2
    Membre actif
    Homme Profil pro
    Analyst
    Inscrit en
    Juillet 2008
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyst
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 150
    Points : 217
    Points
    217
    Par défaut
    Bonsoir,
    Il te suffit d'avoir un enregistrement dans la base avec MDP_ADMIN LIKE 'graduat' pour que la requete renvoie un résultat.

    Je ne sais pas l'interet de cette variable, mais il faut probablement que tu utilises les partentheses. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    .. AND (MDP2 LIKE '$MotDePasseCrypte' OR MDP_ADMIN LIKE 'graduat' ");
    En même temps: je controlerai toujours le mot de passe (pas de passe-droit).

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Salut,

    J'ai finalement contourné le problème en remplissant une variable de session.

    Elle a une certaine valeur si je suis admin ou simple visiteur et par rapport à ça, je choisis une chaine SQL.

    Merci pour ton aide et bonne soirée.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. 2 sessions dans mon site
    Par napz dans le forum Langage
    Réponses: 2
    Dernier message: 18/11/2006, 00h52
  2. [MySQL] Comment créer une sous catégorie dans mon site ?
    Par plex dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 18/08/2006, 09h59
  3. Images dans mon site qui deforment tout
    Par warrendc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/06/2006, 14h32
  4. Rentrer dans un compte, sans effacer le mot de passe?
    Par Lanny dans le forum Windows XP
    Réponses: 7
    Dernier message: 09/01/2006, 00h16
  5. [VB.NET] Proteger mon site par mot de passe
    Par stephane93fr dans le forum ASP.NET
    Réponses: 8
    Dernier message: 19/01/2004, 08h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo