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 de droits access Bit Bashing


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut Gestion de droits access Bit Bashing
    Bonjour,

    je cherche depuis quelques heures la reponse a ma question, en vain!!

    j'ai le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    define("READ", 1<<0);		// 1
    define("WRITE", 1<<1);		// 2
    define("DELETE", 1<<2);		// 4
     
    $access = 4;
     
    echo (constant("WRITE") & $access) ? "OK" : "NO";
    j'obtiens toujours "NO". savez vous pourquoi??
    Si j'ai bien compris, 4 correspond a "DELETE" qui est plus elevé que "WRITE" et donc je suis censé avoir un "OK"

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    J'utilise pas trop cette méthode , mais dans l'idée j'imagine que si tu veux avoir le droit WRITE , il te faut un niveau d'accès de 2
    Si tu veux DELETE et WRITE il te faut un niveau d'accès de 6 (4+2).
    Avec un accès de 4 tu as seulement le droit à DELETE.

    Fait les opération binaire sur papier et tu comprendra.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    WRITE :   |_0|_0|_1|_0|
    Droit  4: |_0|_1|_0|_0|
    AND :     |_0|_0|_0|_0|
                8  4  2  1
    Alors que avec droit à 6 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WRITE :   |_0|_0|_1|_0|
    Droit  6: |_0|_1|_1|_0|
    AND :     |_0|_0|_1|_0|
    Au passage plutot que de calculer la valeur de la constante en faisant un décalage de bit , autant mettre sa valeur numérique , c'est plus simple à comprendre.
    Dans le même esprit , pas besoin d'utiliser constantsi tu le nom de la constante est pas dynamique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    define("READ", 1);		// 1
    define("WRITE", 2);		// 2
    define("DELETE", 4);		// 4
     
    $access = 6;
     
    echo (WRITE & $access) ? "OK" : "NO";
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    Merci grunk pour cette réponse tres rapide

    Eh bien je te remercie infiniment de m'avoir retiré cette enorme epine du pied j'avais au fait complement oublié qu'il fallait faire une addition des valeurs des droits Merci encore une fois

    sinon juste par curiosite, quelle methode utilises tu?

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    J'utilise des roles associées ou non à des utilisateurs dans une base de données.
    Oublie pas de passer ta discussion en résolu.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 901
    Points : 79
    Points
    79
    Par défaut
    OK, MERCI

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

Discussions similaires

  1. Gestion des droits : Bit Bashing
    Par nico.riv dans le forum Langage
    Réponses: 1
    Dernier message: 27/05/2011, 09h47
  2. gestion des droits avec bit bashing
    Par speedev dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2010, 02h43
  3. gestion des droits et bit bashing
    Par orocques dans le forum Langage
    Réponses: 4
    Dernier message: 17/02/2010, 12h55
  4. Gestion de droits sur application VB Access
    Par tribaleur dans le forum Sécurité
    Réponses: 7
    Dernier message: 18/04/2008, 15h35
  5. Gestion des droits d'accès sur Access 2003
    Par cotmar dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2006, 16h41

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