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

PHP & Base de données Discussion :

URL non protégé alors qu'il y a un mot de passe


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut URL non protégé alors qu'il y a un mot de passe
    Bonjour,

    J'essai de créer une page qui sera protégée par un mot de passe, mon code fonctionne assez bien, mais le problème c'est que si je rentre l'adresse avec les paramètres dans l'URL, il n'y a pas d'authentification demandé, la page s'affiche simplement. Comment faire pour éviter cela?

    Voici mon formulaire pour l'authentification:

    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
     
    <?php
    	include ('en_tete_general.html');
    	include('menu_deroulant.inc.php');
    ?>
    <div class="corps_identification">
    <br><br>
     
    <p class="legend_identification"><u> Veuillez vous identifiez pour avoir accès à votre page </u></p>
     
    	<fieldset class="cadre_identifiant">
    		<legend class="legend_identification">Identifiez-vous :</legend>
    						<br>
     
    			<div class="identifiant">
     
    				<form method="get" name="form_identification" action="test_identifiant.php">
     
    					<span class="case_identification" ><b><u><i>Prénom :</u></b></i></span> 
    						<br>
    							<input type="text" name="prenom" class="case_identification">
    						<br>
    						<br>
    					<span class="case_identification"><b><u><i>Mot de passe :</u></i></b></span> 
    						<br>
    							<input type="password" name="password" class="case_identification">
    						<br>
    						<br>
    							<input type="submit" value="validez" class="validation_identification">
    						<br>
    				</form>
    			</div>
    	</fieldset>
     
     
    </body>
    </html>


    Et voici la page qui traite les données:

    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
     
    <?php
    	include ('en_tete_general.html');
    	include('menu_deroulant.inc.php');
    ?>
     
    <div class="corps_identification">
    <br><br>
     
    <?php
     
    if(isset($_GET['prenom']) AND isset($_GET['password']))
    {
    	include ('cnx.php');
    	$prenom = mysql_real_escape_string($_GET['prenom']);
    	$password = mysql_real_escape_string($_GET['password']);
     
     
    	$req = "SELECT prenom, mdp, categorie FROM identifiants WHERE prenom = '". $prenom ."' AND mdp = '". $password ."'";
     
    	$resultat = mysql_query($req);
     
    		if ( mysql_num_rows($resultat) === 1 )
    		{
    		    $retour_mysql=mysql_fetch_assoc($resultat) or exit('erreur dans la requête: '.mysql_error());
    			header('location: admin.php?prenom='.$retour_mysql["prenom"].'&categorie='.$retour_mysql['categorie']);
    		}
    		else
    		{
    		     echo "Mot de passe ou prénom incorecte";
    		     echo "<br><a href='identification.php'>Cliquez ici pour essayer une nouvelle fois</a>";
    		}
     
    	}
     
     
    ?>



    J'espere que j'ai bien réussi à me faire comprendre.

    En vous remerciant d'avance pour vos réponses

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Salutations,
    Quelle url tapes-tu pour accéder "en force" à ta page?
    La je vois un formulaire de connexion, et un fichier de traitement BDD mais pas le fichier admin par exemple qu'il serait intéressant d'avoir sous la main aussi.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Re

    Tout d'abord merci pour ta réponse.

    L'URL que je rentre dans la barre d'adresse est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    admin.php?prenom='.$retour_mysql["prenom"].'&categorie='.$retour_mysql['categorie'])
    Ensuite pour ce qui est de la page "admin" sur laquelle on tombera une fois l'identification effectuée. Je n'ai pas fait grand chose dessus encore. La voici pour l'instant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    	include ('en_tete_general.html');
    	include('menu_deroulant.inc.php');
     
    ?>
     
    <div class="corps">
    <br><br>
     Salut <?php echo $_GET['prenom'];?>, comment vas tu?
     
    </div>
    </body>
    </html>
    J'ai mis cela juste pour tester que tout fonctionne bien.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Salut,
    Ben c'est normal qu'on puisse accéder à admin vu qu'il n'y a aucun controle dans la page pour vérfier si la personne s'est identifiée.
    Faudrait par exemple inclure dans chaque page que tu souhaites protéger un bout de code (en include par exemple) qui se chargerait :
    ->De vérifier si la personne s'est identifiée (via une variable de session par exemple)
    ->Si la personne s'est dejà loggé correctement alors tu laisses la page s'afficher
    ->Sinon tu renvois sur la page de formulaire de connexion à la partie privée de ton site.

    Une discussion pas mal ici : http://www.developpez.net/forums/d88...selon-session/

  5. #5
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Pour une partie admin, l'idéal (je dirais même, le minimum) serait de reposer en 1er l'identification sur le couple .htaccess et .htpasswd.

    Les sessions pourraient ici être la 2ème couche.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2009
    Messages : 186
    Par défaut
    Bonjour,

    En effet les htaccess sont assez puissants.
    Quelques infos ici : http://fr.wikipedia.org/wiki/Htaccess
    Tu pourra trouver pas mal de tutos sur la toile

    Cordialement.

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/08/2006, 10h10
  2. Réponses: 4
    Dernier message: 02/03/2006, 16h43
  3. id non défini alors qu'il est utilisé
    Par flambo88 dans le forum Langage
    Réponses: 11
    Dernier message: 15/01/2006, 01h36
  4. Réponses: 1
    Dernier message: 19/08/2005, 12h33
  5. Réponses: 10
    Dernier message: 26/08/2004, 13h06

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