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 :

Inclusion d'un menu selon la session


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut Inclusion d'un menu selon la session
    Bonjour,

    Petite questions de sécurité :

    Je dispose d'un site avec authentification (deux types d'utilisateurs différents).
    Ainsi selon le type d'utilisateur connecté, je veux lui afficher un menu spécifique.

    pour cela lorsqu'il se connecte, je lui ouvre une session et lui attribut ses droits (par exemple $_SESSION['droit_util'] = admin ou util...)
    Ensuite lorsque j'ouvre la page je fais récupéré la valeur de session et je compare :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    switch($_SESSION['droit_util'])
    case "admin": include("menu_admin.php");
    break;
     
    case "util": include("menu_util.php");
    break
    Mes questions :
    1 - Faire des "include" avec des variables de sessions est il sécurisé ? si ce n'est pas sécurisé que me proposez vous ?
    2 - D'un point de vue sécurité, les variables de session sont ils bien protégés ?

    Merci pour vos réponses

    Maxime

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Points : 178
    Points
    178
    Par défaut
    As tu vraiment beaucoup d'autres solutions?

    Les cookies sont coté client... donc une horreur.

    Au pire tu peux tenter l'IP si les personnes qui se connectent ont des ips fixes si tu veux rajouter une couche.

    Mais sinon ton code me parait très bien.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Merci pour votre réponse.

    J'essaye de me documenter un maximum sur les failles des sites internet, auriez vous des sites ou des explications ou tout autres choses pouvant me servir pour protéger un site Internet ?

    Merci

  4. #4
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Bonsoir,

    Si on ne souhaite pas se retrouver avec un fichier solo de 10 000 lignes, les "include" se justifient et sont prévus à cet effet, et ceci independemment de l'aspect sécurité.

    Ensuite, l'utilisation d'un switch comme tu le présentes, pourquoi pas.
    Cependant, tu fais appel directement à la variable de session, sans vérifier si cette même session est déclarée.

    Perso, j'affinerais le "truc" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if ((isset($_SESSION['droit_util'])) 
    { 
    switch($_SESSION['droit_util'])
    case "admin": include("menu_admin.php");
    break;
    // etc...
    }

  5. #5
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Juin 2009
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    hello,

    suis pas du tout un pro en sécurité, mais je pense que dire que la première manière de protéger une porte est de ne pas diffuser ni son endroit ni pourquoi elle ne s'ouvre pas.

    je proposerais donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    switch($_SESSION['droit_util']) {
       case "admin": 
          include("menu_admin.php");
       break;
       case "util": 
          include("menu_util.php");
       break
       default: 
       # include d'une page d'erreur ni trop stupide, ni trop explicite, mais assez pertinente pour donner envie à un potentiel hacker de chercher du mauvais coté
    }

Discussions similaires

  1. [PHP 4] Aspect bouton menu selon différentes sources
    Par t671 dans le forum Langage
    Réponses: 4
    Dernier message: 16/10/2010, 12h37
  2. Réponses: 4
    Dernier message: 04/03/2010, 15h12
  3. Ajout Menu selon Données
    Par mxh77 dans le forum 4D
    Réponses: 1
    Dernier message: 29/06/2007, 15h17
  4. Gestion d'un menu (selon vous)
    Par rvzip64 dans le forum Delphi
    Réponses: 11
    Dernier message: 08/06/2007, 19h15
  5. Générer un menu selon un répertoire
    Par stailer dans le forum Langage
    Réponses: 7
    Dernier message: 24/11/2006, 10h04

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