亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP巧妙利用位運(yùn)算實(shí)現(xiàn)網(wǎng)站權(quán)限管理的方法

 更新時(shí)間:2017年03月12日 12:56:52   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇PHP巧妙利用位運(yùn)算實(shí)現(xiàn)網(wǎng)站權(quán)限管理的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

首先我們先定義4個(gè)常量來(lái)設(shè)定四種權(quán)限:

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

define(ADD,1);//增加數(shù)據(jù)庫(kù)記錄的權(quán)限
define(UPD,2);//修改數(shù)據(jù)庫(kù)記錄的權(quán)限
define(SEL,4);//查找數(shù)據(jù)庫(kù)記錄的權(quán)限
define(DEL,8);//刪除數(shù)據(jù)庫(kù)記錄的權(quán)限

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

接下來(lái)假設(shè)有3個(gè)用戶:

A用戶擁有ADD-UPD-SEL-DEL四個(gè)權(quán)限,用位或運(yùn)算計(jì)算A的權(quán)限總值
$a_all=ADD|UPD|SEL|DEL;//$all=15 可以注意到這個(gè)值和加法的結(jié)果是一樣的
B用戶擁有ADD-UPD-SEL三個(gè)權(quán)限,用位或運(yùn)算計(jì)算B的權(quán)限總值
$b_all=ADD|UPD|SEL;//$all=7 這個(gè)值和加法的結(jié)果又是一樣的
C用戶擁有ADD-UPD兩個(gè)權(quán)限,用位或運(yùn)算計(jì)算C的權(quán)限總值
$c_all=ADD|UPD;//$all=3 這個(gè)值和加法的結(jié)果還是一樣的

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

接下來(lái)我們用位與做運(yùn)算
$a_all&ADD 結(jié)果為真
$a_all&UPD 結(jié)果為真
$a_all&SEL 結(jié)果為真
$a_all&DEL 結(jié)果為真

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

$b_all&ADD 結(jié)果為真
$b_all&UPD 結(jié)果為真
$b_all&SEL 結(jié)果為真
$b_all&DEL 結(jié)果為假

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

$c_all&ADD 結(jié)果為真
$c_all&UPD 結(jié)果為真
$c_all&SEL 結(jié)果為假
$c_all&DEL 結(jié)果為假

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

發(fā)現(xiàn)奧秘沒(méi)有?

1、當(dāng)權(quán)限總值和沒(méi)有的那個(gè)權(quán)限做位與運(yùn)算,結(jié)果為假

2、權(quán)限的值都是2的次方

知道了這兩點(diǎn)權(quán)限的處理就變得簡(jiǎn)單了吧,只要在每次執(zhí)行涉及權(quán)限操作的時(shí)候把用戶當(dāng)前的權(quán)限總值和當(dāng)前操作需要的權(quán)限做位與運(yùn)算。如果結(jié)果為真執(zhí)行,為假做報(bào)錯(cuò)處理就行啦(當(dāng)然也不一定時(shí)報(bào)錯(cuò),你可以自己設(shè)計(jì)沒(méi)有權(quán)限時(shí)的程序)。

以上這篇PHP巧妙利用位運(yùn)算實(shí)現(xiàn)網(wǎng)站權(quán)限管理的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 探討多鍵值cookie(php中cookie存取數(shù)組)的詳解

    探討多鍵值cookie(php中cookie存取數(shù)組)的詳解

    本篇文章是對(duì)多鍵值cookie(php中cookie存取數(shù)組)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP判斷訪客是否手機(jī)端(移動(dòng)端瀏覽器)訪問(wèn)的方法總結(jié)【4種方法】

    PHP判斷訪客是否手機(jī)端(移動(dòng)端瀏覽器)訪問(wèn)的方法總結(jié)【4種方法】

    這篇文章主要介紹了PHP判斷訪客是否手機(jī)端(移動(dòng)端瀏覽器)訪問(wèn)的方法,結(jié)合實(shí)例形式總結(jié)分析了php基于HTTP_X_WAP_PROFILE、HTTP_VIA、HTTP_USER_AGENT、HTTP_ACCEPT等4種方法判斷訪客類型的相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • 工廠模式在Zend Framework中應(yīng)用介紹

    工廠模式在Zend Framework中應(yīng)用介紹

    在Zend Framework中,使用了多種設(shè)計(jì)模式。其中對(duì)數(shù)據(jù)庫(kù)的封裝,用到了工廠模式
    2012-07-07
  • 10條PHP編程習(xí)慣助你找工作

    10條PHP編程習(xí)慣助你找工作

    本文來(lái)自于作者的一段面試經(jīng)歷,從而總結(jié)出10條編寫(xiě)PHP程序時(shí)的好習(xí)慣和技巧,幫助你在找工作時(shí)獲得更多的優(yōu)勢(shì)。
    2008-09-09
  • PHP如何實(shí)現(xiàn)HTTP驗(yàn)證

    PHP如何實(shí)現(xiàn)HTTP驗(yàn)證

    這篇文章主要介紹了PHP如何實(shí)現(xiàn)HTTP驗(yàn)證,幫助大家更好的理解和學(xué)習(xí)使用PHP,感興趣的朋友可以了解下
    2021-04-04
  • php中__toString()方法用法示例

    php中__toString()方法用法示例

    這篇文章主要介紹了php中__toString()方法用法,結(jié)合實(shí)例形式分析了__toString()方法的功能與簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2016-12-12
  • php基于base64解碼圖片與加密圖片還原實(shí)例

    php基于base64解碼圖片與加密圖片還原實(shí)例

    這篇文章主要介紹了php基于base64解碼圖片與加密圖片還原的方法,以實(shí)例形式講述了base64_decode函數(shù)的用法,需要的朋友可以參考下
    2014-11-11
  • php文本轉(zhuǎn)圖片自動(dòng)換行的方法

    php文本轉(zhuǎn)圖片自動(dòng)換行的方法

    通過(guò)判斷字符串和截取字符串再拼接起來(lái)實(shí)現(xiàn)文本圖片自動(dòng)換行,以下貼出此代碼
    2013-03-03
  • 淺談定義一個(gè)PHP函數(shù)

    淺談定義一個(gè)PHP函數(shù)

    在過(guò)去很長(zhǎng)一段時(shí)間里,PHP都是開(kāi)發(fā)web應(yīng)用的不二之選?,F(xiàn)在7.x版本又填補(bǔ)了許多高級(jí)特性和現(xiàn)代化應(yīng)用的需求,并且提高了開(kāi)發(fā)者的效率。這門語(yǔ)言正不斷的發(fā)生改變,找出這些變化,并停止過(guò)去的寫(xiě)法,放棄你原來(lái)的習(xí)慣并自豪的使用這些新特性,讓你的代碼更易讀易懂。
    2021-05-05
  • php寫(xiě)入文件不覆蓋的實(shí)例講解

    php寫(xiě)入文件不覆蓋的實(shí)例講解

    在本篇文章里小編給大家分享關(guān)于php寫(xiě)入文件不覆蓋的實(shí)例講解以及知識(shí)點(diǎn)總結(jié),需要的可以參考下。
    2019-09-09

最新評(píng)論