Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die clevere Verwendung von Bitoperationen durch PHP zur Verwaltung von Website-Berechtigungen

Detaillierte Einführung in die clevere Verwendung von Bitoperationen durch PHP zur Verwaltung von Website-Berechtigungen

黄舟
黄舟Original
2017-03-13 16:40:581375Durchsuche

Der folgende Editor bringt Ihnen einen Artikel darüber, wie PHP Bitoperationen geschickt nutzt, um die Website-Berechtigungsverwaltung zu implementieren. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.

Definieren wir zunächst 4 Konstanten , um vier Berechtigungen festzulegen:

===================================== ==

define(ADD,1);//Erhöhen Sie die Berechtigungen von Datenbankeinträgendefine(UPD,2);//Ändern Sie die Berechtigungen von Datenbankeinträgen
define(SEL ,4);//Berechtigung zum Suchen von Datenbankeinträgen
define(DEL,8);//Berechtigung zum Löschen von Datenbankeinträgen

= ====== =============================

Weiter Angenommen, es gibt 3 Benutzer:

Benutzer A verfügt über vier Berechtigungen ADD-UPD-SEL-DEL Verwenden Sie die bitweise ODER-Verknüpfung, um den Gesamtwert von A zu berechnen Berechtigungen

$a_
all=ADD|UPD|SEL|DEL;//$all=15 Sie können feststellen, dass dieser Wert mit dem Ergebnis der Addition identisch ist Benutzer B hat die drei Berechtigungen ADD-UPD-SEL, bitweise ODER-Operation verwenden, berechnet den Gesamtwert der Berechtigungen von B
$b_all=ADD|UPD|SEL;//$all=7 Dieser Wert ist derselbe wie das Ergebnis der Addition
Benutzer C verfügt über zwei Berechtigungen, ADD-UPD. Berechnen Sie den Gesamtberechtigungswert von C mithilfe einer bitweisen ODER-Operation
$c_all=ADD|UPD;//$all=3 Dieser Wert ist immer noch derselbe wie das Ergebnis der Addition

====== ==============================

Als nächstes verwenden wir die bitweise UND-Verknüpfung$a_all&ADD Das Ergebnis ist wahr
$a_all&UPD Das Ergebnis ist wahr
$a_all&SEL Das Ergebnis ist wahr
$a_all&DEL Das Ergebnis ist wahr

================================ =====

$b_all&ADD Das Ergebnis ist wahr$b_all&UPD Das Ergebnis ist wahr
$b_all&SEL Das Ergebnis ist wahr
$b_all&DEL Das Ergebnis ist falsch

=== ============================ =====

$ c_all&ADD Das Ergebnis ist wahr$c_all&UPD Das Ergebnis ist wahr
$c_all&SEL Das Ergebnis ist falsch
$c_all&DEL Das Ergebnis ist falsch

======== ======================== ======

Haben Sie das Geheimnis entdeckt?

1. Wenn der Gesamtwert der Berechtigungen mit der nicht vorhandenen Berechtigung verknüpft wird, ist das Ergebnis falsch

2 Die Werte der Berechtigungen sind alle Potenz von 2

Nachdem Sie diese beiden Punkte der Berechtigungsverarbeitung kennen, wird es einfach, den Gesamtwert der aktuellen Berechtigungen des Benutzers und den aktuellen Wert zu addieren Für den Vorgang erforderliche Berechtigungen werden bitweise UND-verknüpft. Wenn das Ergebnis wahr ist, führen Sie es aus. Wenn es falsch ist, melden Sie einfach einen Fehler (natürlich wird nicht unbedingt ein Fehler gemeldet, Sie können Ihr eigenes Programm entwerfen, wenn Sie keine Berechtigung haben).

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die clevere Verwendung von Bitoperationen durch PHP zur Verwaltung von Website-Berechtigungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn