php配置文件的权限系统设置
鉴于项目需求(一个WEB2.0网站)中角色和操作都比较稳定,我们设计了简化版的RBAC权限系统。具体做法是采用配置文件的方式来存储系统的角色、操作以及给角色分配权限。
配置文件分为四个数组。分别是全部操作列表数组$oprate、全部模板列表数组$template、全部标志列表数组$mark、给角色赋予权限数组$roleHasOprate。
在web服务器上的文件要使用什么权限比较好呢。我开始的时候直接都是777,后台安全部门的同事,通过漏洞把我管理的服务器给搞了。报告到我这里,我才意识到权限的设置不能马虎。
环境采用nginx+php,一般来说两个服务是以相同的帐户运行的,如www,所以建议目录设置为744,文件设置为644。
权限系统里,r权限=4,w权限=2,x权限=1,这三个权限值相加的结果就是优级终的权限值,6=4+2也就是说有rw权限。
由于打开文件夹(目录)的行为,是需要x权限的,所以目录不能设置为6,不然你就别想进入目录去读文件了。
在说权限管理模块前,应该先知道权限管理模块要有哪些功能:
权限管理模块功能
1、用户只能访问,指定的控制器,指定的方法
2、用户可以存在于多个用户组里
3、用户组可以选择,指定的控制器,指定的方法
4、后台可以添加控制器和方法
判断思路如下:
1、获取用户要访问的控制器和方法。
2、从数据库中获取,该用户拥有的控制器和方法。
3、判断要访问的控制器和方法,是否存在用户拥有的控制器和方法里。