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 PHP Discussion :

formulaire de connexion


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Points : 69
    Points
    69
    Par défaut formulaire de connexion
    Bonjour,

    Je voulais savoir si mon script de connexion est sécurisé. En fait savoir si le include est une bonne idée ou s'il vaut mieux renvoyer sur la page 'identification.php' directement.

    Voici mon code :
    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
     
    <form class="form_connexion" method="post">
     
    		<table>
    			<tr>
    				<td>
    				</td>
    				<td>
    					<?php
    						if(isset($_POST["submit"])) include ("inc/php/check_sessions/identification.php"); 
    					?> 		
    				</td>
    			</tr>
    			<tr>
    				<td>Identifiant :</td>
    				<td><input type="text" name="id"/></td>
    			</tr>
    			<tr>
    				<td>Mot de passe :</td>
    				<td><input type="text" name="mdp"/></td>
    			</tr>
    		</table>
     
    		<br/>
     
    		<input type="submit" name="submit" value="Connexion" style="height:20px;width:100px" />
     
    	</form>
    Merci de votre aide

  2. #2
    Membre expérimenté

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Bonjour,
    Sur la facon de faire, j'aurais plutot vu le formulaire avoir pour attribut action la valeur "inc/php/check_sessions/identification.php" qui s'occuperait de faire les controles et de rediriger en conséquence et du coup j'aurais retiré du code la partie php de ton formulaire donc.

    Après niveau sécurité, faire un include n'est pas une faille en soi, tout le monde en fait et continuera d'en faire ! La plupart des serveurs maintenant empeche l'inclusion de fichier externe (ce qui pouvait permettre de détourner les fichiers appelés par include). Le risque qu'on attaque via ce script par include tend à ma connaissance à être nulle.

    Après niveau sécurité des connexions utilisateurs, faut plutôt regarder le code que tu as mis dans identification.php, c'est là que ca se passe.

    Un principe de base étant évidemment de se dire qu'il ne faut jamais faire confiance aux variables reçues en parametres de tes scripts.

    En résumé niveau de ton code, mieux vaut à mon sens faire :

    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
    <form class="form_connexion" method="post" action="inc/php/check_sessions/identification.php">
     
    		<table>
     
    			<tr>
    				<td>Identifiant :</td>
    				<td><input type="text" name="id"/></td>
    			</tr>
    			<tr>
    				<td>Mot de passe :</td>
    				<td><input type="text" name="mdp"/></td>
    			</tr>
    		</table>
     
    		<br/>
     
    		<input type="submit" name="submit" value="Connexion" style="height:20px;width:100px" />
     
    	</form>
    et dans identifcation.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    /* tes tests de validité */
    //Si ok :
    header("Location: connexion_ok.php");
    //si pas ok:
    header("Location: connexion_refusee.php");

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Points : 69
    Points
    69
    Par défaut
    D'accord d'accord c'est noté ! Merci de ta réponse.

    Juste une petite question ! Le 'identification.php', pas besoin de le sécuriser avec un htaccess?

  4. #4
    Membre expérimenté

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Non, surtout pas.
    Sinon à chaque fois qu'une personne va vouloir se connecter, on va lui demander un login et un mot de passe fixer en dur dans un .htpasswd, ca n'a pas de sens ! (la protection par mot de passe via htaccess n'est généralement utile que pour protéger des backoffice à usage monoutilisateur).

    Ta procédure d'identification et de vérification des login/mot de passe se fera dans identification.php et pas ailleurs, d'ou l'intéret de faire un peu attention à ce qu'on fait dans ce fichier (genre ne pas permettre d'injection sql en échappant bien les variables utilisateurs notamment).

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Points : 69
    Points
    69
    Par défaut
    Ce que je voulais dire avec htaccess c'est pas une authentification utilisateur mais plutôt un htaccess avec :
    Pour protéger les fichiers et empêcher leur téléchargement.

    En ce qui concerne mon identification.php voici ce que j'ai :
    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
     
    <?php
     
    require("../../../inc/connexion_bdd.php");
     
    session_start();
     
    if($_POST && !empty($_POST['id']) && !empty($_POST['mdp']))
    {
        $id = htmlentities($_POST['id'], ENT_QUOTES); 
        $mdp = htmlentities($_POST['mdp'], ENT_QUOTES);
     
        $mdp_md5 = md5($mdp);
     
    	$req = mysql_query("SELECT id FROM intranet_sessions WHERE login='$id' AND mdp_md5='$mdp_md5'");
     
    	if(mysql_num_rows($req) > 0){
     
            	$_SESSION['_login'] = $id;
            	$_SESSION['_pass'] = $mdp_md5;
            	$_SESSION['time'] = time();
     
    		  	header('location:../../../extranet.php?p=news');
            	exit();
        }
    }
    mysql_close();
    header ("Location:../../../index.php?e=1");
     
    ?>

  6. #6
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Non, tu n'a pas besoin de Même si quelqu'un télécharge ton fichier identification.php il aura un fichier vierge puisque le php est interprété coté serveur !

    Fait le test toi même et tu verra

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Points : 69
    Points
    69
    Par défaut
    C'est noté

    Merci

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

Discussions similaires

  1. Formulaire de connexion qui ne connecte pas
    Par Lexion71 dans le forum Langage
    Réponses: 3
    Dernier message: 28/12/2007, 18h41
  2. Formulaire de connexion
    Par Interface dans le forum Langage
    Réponses: 6
    Dernier message: 21/09/2007, 14h06
  3. formulaire de connexion ne fonctionne pas
    Par masterix59 dans le forum Langage
    Réponses: 2
    Dernier message: 20/09/2007, 00h31
  4. formulaire de connexion utilisateurs
    Par lucienkany dans le forum Access
    Réponses: 1
    Dernier message: 02/07/2007, 22h45
  5. PB Utilisation formulaire de connexion
    Par stan314 dans le forum Access
    Réponses: 2
    Dernier message: 25/05/2006, 12h59

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