位置: 编程技术 - 正文

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

标签: php 位运算符

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

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

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

  • 非金融企业利息收入计入什么科目
  • 什么负债计税基础为零
  • 银行电子承兑到期多久时间之内可以兑现
  • 个税身份证验证不通过已经申报缴税
  • 哪些商业保险可以扣除个人所得税
  • 外购软件用于销售的会计分录
  • 去新成立的公司
  • 政府补助的会计核算形式有哪些
  • 工程款材料费票怎么开?
  • 免税的农业企业可以抵扣专票吗
  • 差错更正要调去年的吗
  • 服务业的地税是什么税
  • 单位给职工租房属于福利政策文件
  • 发票联丢失用抵扣联做账可以吗
  • 我的初级备考经验,认真就有收获
  • 建设银行对公转账限额
  • 股权激励取消怎么处理?
  • 企业研发活动中心职责
  • 删除文件需要管理员权限无法添加怎么办
  • 华为手机进入recovery模式怎么退出
  • 微信转账的手续费规则
  • 英雄联盟登录失败7502013
  • vmware10怎么安装
  • 华为mate40怎么打开开发者选项
  • 建筑业增值税会计核算是哪门课的内容
  • 个人出租住宅需要交哪些税
  • 如何删除鸿蒙
  • 如何修改win10系统电脑密码
  • 增值税进项税抵扣销项税
  • php工程师职位描述
  • 销售旧设备如何开票
  • 计提减值后折旧年限怎么算
  • 短期借款转长期借款利息
  • 好奇地看着我
  • 土地增值税的意思
  • 国家公园好玩吗
  • 集团的资产
  • 开发票如何计算税率
  • 3分钟认识Vue3的v-model
  • mksquashfs命令
  • php字符串比较函数怎么写
  • 制药企业客户退货流程
  • 小规模纳税人定义标准
  • 外贸企业代理出口退税给谁
  • mongodb安装使用
  • 怎么做零售企业
  • 去银行取对账单需要带什么
  • 算税负是含税还是不含税
  • 人工成本的分类是
  • 用友T3财务报表没有数据
  • 应收账款计提的坏账准备可以转回
  • 会计已入账是什么意思
  • 发票上有银行流水号吗
  • 费用分摊科目
  • 销售使用过的汽车增值税税率
  • 企业收到的应收票据应按什么作为入账金额
  • sqlserver 查询锁
  • fat32转换为ntfs分区命令
  • xmp文件是干嘛用的
  • win10系统升级后c盘满了
  • 如何使用一键启动
  • bd是什么文件
  • reader_sl.exe - reader_sl进程有什么用.
  • win8.1快速启动
  • linux中nfs的搭建
  • windows更新后桌面没反应
  • win7免费升级永久win8
  • android jdk下载
  • surf apk android
  • opengl 模型视图矩阵
  • jquery 延迟执行方法
  • node.js web
  • JavaScript split()使用方法与示例
  • android混淆后怎么破解
  • 小规模现代服务的税率是多少啊怎么算
  • 无偿使用的房屋装修如何摊销
  • 房地产公司可以查到客户购房信息
  • 科技公司小规模纳税人
  • 杨浦区办理健康证地点
  • 巾帼文明岗主题内容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设