![]() |
Gestion de droits d'acces, manipulation de bits en php ? - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Gestion de droits d'acces, manipulation de bits en php ? (/showthread.php?tid=4665) Pages :
1
2
|
Gestion de droits d'acces, manipulation de bits en php ? - php_addict - 23-03-2010 Bonsoir je m'attaque à un problème: celui de la gestion des droits d'accès à certaines pages ou actions, je m'explique: ayant programmé en assembleur en tant qu'amateur, j'ai tout naturellement pensé à coder les droits d'accès dans un ou plusieurs octets...1 octet étant 8 bits je pensais faire ceci: Code : bit number: 1 2 3 4 5 6 7 8 si mes souvenir d'assembleur intel sont exacts, on utilise rol dest, count et ror dest, count (comprenez rotate left et rotate right) quand on utilise rotate le bit sortant est stocké dans un registre... enfin bref...vous voyez certainement de quoi je parles... ma question est toute bête: est ce possible en php ? je veut dire: de quelles fonctions ou opérateurs ais je besoin ? j'ai eu beau chercher des exemples de code en php, je n'ai rien trouvé... mais peut être existe t il une meilleure solution ? ceci dit je pourrais faire la même chose avec des integer: (int)(10010010) (int)(00110101) (int)(11100110) (int)(00100101) mais je trouve cela un peu lourd à stocker en base de donnée non ? merci de m'avoir lu a+ RE: Gestion de droits d'acces, manipulation de bits en php ? - pascal - 23-03-2010 Je n'ai pas trouvé les fonctions binaires dans la doc PHP ![]() Le plus souple reste un système avec des groupes + droits, ça se crée très facilement et sera + évolutif que les bits. A+ Pascal RE: Gestion de droits d'acces, manipulation de bits en php ? - php_addict - 23-03-2010 (23-03-2010, 09:42 PM)pascal a écrit : Le plus souple reste un système avec des groupes + droits, ça se crée très facilement et sera + évolutif que les bits. merci ![]() RE: Gestion de droits d'acces, manipulation de bits en php ? - pascal - 23-03-2010 Un truc du genre : - un utilisateur peut être membre de 0 à N groupes - un utilisateur peut avoir de 0 à N droits - un groupe peut avoir de 0 à N droits - une page peut être accédée selon des droits ou des groupes RE: Gestion de droits d'acces, manipulation de bits en php ? - Argorate - 23-03-2010 Tu définis tel action/page necesite tel droit, tu definis tel groupe a tel droit, tu definis tel personne appartient a tel groupe. tu vois l'idée? un peu comme les forum: t'as jamais eu de forum phpbb ou équivalant? RE: Gestion de droits d'acces, manipulation de bits en php ? - php_addict - 23-03-2010 merci pour vos reponses (23-03-2010, 10:21 PM)Argorate a écrit : tu vois l'idée? un peu comme les forum: t'as jamais eu de forum phpbb ou équivalant? si si phpbb...ca vous parait vraiment plus simple qu'une manipulation de bits ? je viens de trouver ceci: http://www.zpmag.com/extraits/zpm_8_sample.pdf RE: Gestion de droits d'acces, manipulation de bits en php ? - pascal - 23-03-2010 oui, c'est plus simple car plus lisible avec la base de données. Avec les bits, tu auras plus de difficultés à revenir sur le code après quelques mois. Il y aura aussi la question de l'évolution des droits : avec une base de données, tu gères autant de groupes / droits que tu veux. A+ Pascal RE: Gestion de droits d'acces, manipulation de bits en php ? - QuentinC - 23-03-2010 Remarque, c'est parfaitement possible. ON appelle ça des flags. Tu peux utiliser les opérateurs binaires classiques du C, ils fonctionnent aussi en php : <<, >>, &, |, ^, ~ RE: Gestion de droits d'acces, manipulation de bits en php ? - php_addict - 24-03-2010 (23-03-2010, 11:49 PM)QuentinC a écrit : Remarque, c'est parfaitement possible. ON appelle ça des flags. donc si le joueur a pour droit: 1011 et que 0010 represnte le droit d'acces au forum, alors: - je n'ai qu'a faire (1011 & 0010) - et tester si (1011 & 0010) = 0010 ??? c'est ca ? RE: Gestion de droits d'acces, manipulation de bits en php ? - Zamentur - 24-03-2010 Non car 1011 va être compris comme 1011 en base 10 et non en binaire De plus tu doit mettre 2(même plutôt 3) égales et non pas un seul pour le test. Donc j'opterai pour (11 & 2) === 2 Ceci dit peut être existe t'il une méthode pour indiquer que c'est un nombre en binaire du genre mettre un 0 ou un % systèmatiquement devant. Mais je ne sais plus. |