权限控制php
① php权限管理
if(a) {123456}
if(b){23}
如果只有123456的查看 那问题很简单
但是要完成整个网站所有页面 各种操作的权内限判断 再用这种思路就麻烦大容了
这需要一个系统
RBAC 基于角色的访问控制(Role-Based Access Control)
这要配合mvc 数据库
所有操作都交给控制器 在控制器判断权限
新手先不要考虑这些
学好基础 在学个框架 然后在思考这个问题
② php 怎么设置权限
用流程控制呗,在主页面 显示出所有的信息,供别人查看,如果要 回复的话就判断 用户是否登录(登录的时候吧$_SESSION中加入用户名,如果$_SESSION 不为空就是登录了) 就可以进行回复 和发文章的操作了。否则就跳转到登录页面,提醒登录。 可以看看会话控制。 html 本身不提供会话控制,只能用session 和cookie
③ php带有权限管理的代码
访问某一页面需要权限 abc,这个是存在权限表中的,在这个页面里先获取到访问这个页面的权限,然后获得访问用户的所有权限,用in_array判断,abc在这个用户权限内则这个用户有权限访问这个页面,否则重定向到报错页面
权限表autht有url、auth等字段,用户表member有uid、auths等字段
$uid = "用户uid";
$auth = "用语句查select auth from autht where url='当前页面url' 结果为abc";
$auths = "用语句查select auths from member where uid={$uid} 将结果explode为数组";
if(!in_array($auth, $auths)) redirect('提前写好的报错页面');
// 权限检测结束
④ PHP如何实现权限管理树
<?php
/*
权限设计
有一个全局的管理员root
每个栏目有个管理员权限为其他权限的合内
每单个权限为2的倍数
list/read 1
add 2
edit 2
del 4
all admin
*/
if( 5&2)
{
echo 1;
}else{
echo 0;
}
/*
简单的权容限管理,有这个基本就够用了,
不做更复杂的了,功能设计上不用考虑权限,
编码的遵循一些规范,在顶层类里,加个适配器
*/
?>
⑤ php中怎么进行页面权限访问控制,给点实例
通常,可以在 php 的$_SESSION 全局数组里,定义一个成员,然后用 if-else 语句判断,比如:
if($_SESSION['name']=='abc'){
//有权限访问该页面
}else{
//无权访问
}
更进一步的分级权限控制,可以通过数据库建立权限表,根据权限表中的记录来判断是否能访问。
⑥ php 用户权限控制如何设计
可以是这样子设计权限路由表,比如:,写成配置文件或数据库中。
//菜单配置
'content'=>array(
'新闻文章'=>array(
'栏目管理'=>array('Classify/index','type='.CLASS_ARTICLE),
'文章管理'=>'Article/index',
'回收站'=>array('Article/index','trash=1'),
),
'图集'=>array(
'分类管理'=>array('Classify/index','type='.CLASS_ATLAS),
'图集管理'=>'Atlas/index',
//'添加图片'=>'Picture/index',
),
'品牌管理'=>array(
'分类管理'=>array('Classify/index','type='.CLASS_BRAND),
'品牌管理'=>'Brand/index',
),
),
//权限配置
'Config'=>array(
'name'=>'系统配置',
'controller'=>'Config',
'action'=>array(
'index'=>array('系统配置','t=1')//带参数的方法
)
),
'Channel'=>array(//控制器
'name'=>'导航管理',
'controller'=>'Channel',
'action'=>array(//方法
'index'=>'导航列表',
'add'=>'导航(新增/编辑)',
'sort'=>'导航排序',
'del'=>'删除导航',
)
),
'Article'=>array(
'name'=>'新闻文章管理',
'controller'=>'Article',
'action'=>array(
'index'=>'新闻文章列表',
'add'=>'新闻文章(新增/编辑)',
'trash'=>'新闻文章删除(回收站)',
'reset'=>'新闻文章恢复(回收站)',
'del'=>'删除新闻文章',
)
),
1.在用户登录后,获取到用户权限列表,不同角色对应不同权限列表
2.根据用户权限列表与菜单列表进行比对,如果该菜单无权限则移除
3.在父类中增加对当前控制器权限进行检查
⑦ php 权限控制实现方式有几种
1.PHP5提供了3种访问方式:
2.分别是一下几种:
(1)public:可以被毫无限制地访问,类外部的任何代码都可以读写public属性,在PHP5之前的版本中,所有的方法和属性都是public。
(2)private:只在类的内部可见,类中的任何成员和类实例都可以访问private成员,在所在类之外,不能改变或者读取private属性的值,也不能调用private的方法。子类也不能访问父类的private成员。
(3)protected:能被同类和继承出的类的方法访问到。
如果没有指明,默认均为public。
⑧ php里的权限控制有什么好的实现方案
ThinkPHP3.2里面有自带的权限系统,
RBAC权限控制
Ecshop开源框架里面也有权限控制。
如果都看了,应该能找一个合适自己的。
最简单的应该就是获取 控制器 方法名 然后每个用户都有自己的权限,读取,如果表里面没有就禁止访问。
⑨ php权限管理如何实现
我得做法是,用形如:
修改文章,1,删除文章,1,新增文章,1
这样的字符串来保存权限值
读取后explode为数组,需要校验权限的时候,用
if($array["修改文章"])
判断是否有权限。