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 :

Accès sécurisé à une page


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut Accès sécurisé à une page
    salut à tous,

    J'aurais aimé avoir votre avis sur la sécurisation d'une page

    Alors voila, 1ere page: login, qui redirige les utilisateurs sur une page A s'ils sont user, et une page B s'ils sont admin via une requete et une condition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     if ($logged AND $status=="admin")  {
     
    	 $_SESSION['Nom']=$Nom;
    	 $_SESSION['status']=$status;
    	 $nextPage='Menuadm.php';
    	 }

    et le code qui est sensé sécuriser la session sur la page menu admin.

    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
     
    <?php 
         session_start(); 
     
    if(!isset($_SESSION['Nom'])) {
      echo 'Vous n\'êtes pas autorisé à acceder à cette zone';
     include('auth.php');
      exit;
    }
    else if ($_SESSION['status']='admin' ) 
     
    	 {
     
     
    		  echo "Bienvenue ", '<strong>'.$_SESSION['Nom'].'</strong><br />';
     
     
     
         } 
    ?>

    Alors voila, ca fonctionne quand je ne me log pas et que j'essaye d'aller sur la page je n'y ai pas accés, mais si j'essaye en m'étant logué auparavant en tant que "user simple", j'y accède qd meme :s


    Auriez-vous une idée ?

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['status']='admin'
    == et pas un simple =

    Là tu affectes le status "admin" à tous ceux qui arrive sur la page au lieu de vérifier si il le possède.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Ah oui bien vu

    Mais hélas, ça ne marche toujours pas

    Du coup j'ai remanié le code pour qu'il prenne en compte la condition ou la personne se log mais ne serait pas admin

    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
     
     
    <?php 
         session_start(); 
     
    if(!isset($_SESSION['Nom'])) Or ($_SESSION['status']!=='admin' )  {
      echo 'Vous n\'êtes pas autorisé à acceder à cette zone';
     include('auth.php');
      exit;
    }
    else  
    	 {
    		  echo "Bienvenue ", '<strong>'.$_SESSION['Nom'].'</strong><br />';
     
         } 
    ?>

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Attention à la priorité de Or , l'opérateur utilisé pour faire un "ou" en programmation est généralement ||

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    exact, c'est pourtant ce que je mets d'habitude

    j'ai cette erreur à présent:


    Parse error: syntax error, unexpected T_BOOLEAN_OR in C:\wamp\www\Tests\Menuadm.php on line 4
    le booléen correspond au isset non ? pourtant il est correct sans le rajout du ||

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Ta condition n'est pas correcte :

    if( !isset($_SESSION['Nom']) || ($_SESSION['status']!=='admin' ))

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Bon bah niquel, ca marche, j'etais pas loin

    Merci Grunk

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

Discussions similaires

  1. sessions : securiser l'acces a une page web
    Par kam81 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 25/11/2006, 15h26
  2. Réponses: 1
    Dernier message: 20/09/2006, 01h29
  3. Accés a une page HTTPS
    Par vins25 dans le forum Apache
    Réponses: 4
    Dernier message: 02/02/2006, 14h19
  4. Réponses: 5
    Dernier message: 09/01/2006, 12h46

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