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 :

Gestion des droits : Bit Bashing


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Par défaut Gestion des droits : Bit Bashing
    Bonjour à tous,

    Je viens de découvrir le principe de bit bashing, et je rencontre un petit problème…

    Alors 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
     
    define('CONSULTER',1<<0); // 1
    define('MODIFIER',1<<1); // 2
    define('SUPPRIMER',1<<2); // 4
    define('PARAMETRER',1<<3); // 8
    define('GERER_USERS',1<<4); // 16
     
    $droits = 8;
     
    if ( ! PARAMETRER & $droits) {echo 'DEHORS';} else {echo 'OK';} // Donne OK
     
    if ( ! GERER_USERS & $droits) {echo 'DEHORS';} else {echo 'OK';} // Donne OK, alors que je devrais avoir DEHORS
    J'ai beau tourner dans tous les sens, je ne vois pas ce qui m'échappe…

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Par défaut
    Ce forum est vraiment magique... C'est pas la première fois que je met un post et que dans les 5 minutes qui suivent je trouve la solution

    La bonne syntaxe est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ( ! (PARAMETRER & $droits)) {echo 'DEHORS';} else {echo 'OK';} // Donne OK
     
    if ( ! (GERER_USERS & $droits)) {echo 'DEHORS';} else {echo 'OK';} // Donne DEHORS
    Et voilà, les opérateurs bit à bit ne sont pas évidents à comprendre du premier coup... J'espère que ça pourra aider quelqu'un !

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

Discussions similaires

  1. Gestion des droits, opérateurs de bits
    Par gwharl dans le forum Langage
    Réponses: 2
    Dernier message: 19/07/2011, 14h10
  2. gestion des droits avec bit bashing
    Par speedev dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2010, 03h43
  3. gestion des droits et bit bashing
    Par orocques dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2010, 13h55
  4. Gestion des droits
    Par totop dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 22/01/2005, 10h49
  5. Gestion des droits d'accès
    Par soulryo dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 12/01/2005, 11h50

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