位置: 编程技术 - 正文

PHP巧妙利用位运算实现网站权限管理的方法(php 位运算符)

编辑:rootadmin

推荐整理分享PHP巧妙利用位运算实现网站权限管理的方法(php 位运算符),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php怎么运用,php 位移,php 位移,php位移运算,php位运算符的应用,php位移运算,php位运算,php按位与,内容如对您有帮助,希望把文章链接给更多的朋友!

首先我们先定义4个常量来设定四种权限:

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

define(ADD,1);//增加数据库记录的权限define(UPD,2);//修改数据库记录的权限define(SEL,4);//查找数据库记录的权限define(DEL,8);//删除数据库记录的权限

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

接下来假设有3个用户:

A用户拥有ADD-UPD-SEL-DEL四个权限,用位或运算计算A的权限总值$a_all=ADD|UPD|SEL|DEL;//$all= 可以注意到这个值和加法的结果是一样的B用户拥有ADD-UPD-SEL三个权限,用位或运算计算B的权限总值$b_all=ADD|UPD|SEL;//$all=7 这个值和加法的结果又是一样的C用户拥有ADD-UPD两个权限,用位或运算计算C的权限总值$c_all=ADD|UPD;//$all=3 这个值和加法的结果还是一样的

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

接下来我们用位与做运算$a_all&ADD 结果为真$a_all&UPD 结果为真$a_all&SEL 结果为真$a_all&DEL 结果为真

PHP巧妙利用位运算实现网站权限管理的方法(php 位运算符)

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

$b_all&ADD 结果为真$b_all&UPD 结果为真$b_all&SEL 结果为真$b_all&DEL 结果为假

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

$c_all&ADD 结果为真$c_all&UPD 结果为真$c_all&SEL 结果为假$c_all&DEL 结果为假

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

发现奥秘没有?

1、当权限总值和没有的那个权限做位与运算,结果为假

2、权限的值都是2的次方

知道了这两点权限的处理就变得简单了吧,只要在每次执行涉及权限操作的时候把用户当前的权限总值和当前操作需要的权限做位与运算。如果结果为真执行,为假做报错处理就行啦(当然也不一定时报错,你可以自己设计没有权限时的程序)。

以上这篇PHP巧妙利用位运算实现网站权限管理的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

老生常谈PHP位运算的用途 在实际应用中可以做用户权限的应用我这里说到的权限管理办法是一个普遍采用的方法,主要是使用到位运行符操作,&位与运算符、|位或运行符。参与

php获取linux命令结果的实例 如果使用php命令行里想获取etho网卡的IP怎么处理呢?publicfunctionget_server_ip(){if(PHP_SAPI==='cli'){$buffer="";$handle=popen("ifconfigeth0|grep'inetaddr'|awk-F'[:]''{print$}'",'r

Thinkphp结合ajaxFileUpload实现异步图片传输示例 前言在做这个项目之前,对图片上传处理一直都是直接用表单提交的方式进行文件传输,这次因为需求,需要实现对图片进行异步传输,虽然实现并不

本文链接地址:https://www.jiuchutong.com/biancheng/293432.html 转载请保留说明!

上一篇:golang、python、php、c++、c、java、Nodejs性能对比

下一篇:php获取linux命令结果的实例(php获取操作系统)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络