UCHOME2.0权限机制分析

1:隐私机制

全站用户默认隐私

A:管理员在后台设置全站默认的隐私规则,数据被储存在config表中,以如下方式储存

clip_image002

B:更新config缓存文件data\data_config.php将数据存于$_SCONFIG[privacy][view]数组中

C:在space.php入口文件里通过ckprivacy($type, $feedmode=0)函数来检查是否具有某权限

有权限则返回1 否则返回0

D:若无权限查看则提示加为好友才能观看,并终止程序。代码如下

clip_image004

用户自定义隐私

A:用户在自己的控制面板设置隐私规则,数据被储存在spacefield表中,以如下方式储存

clip_image006

B:在space.php入口文件中通过getspace函数获取用户spacefield表中的数据存储在$spaces数组中

C:通过函数ckprivacy查看用户是否有权限查看数据,具体跟全站用户默认隐私C处相同

2:用户组权限

A:管理员在后台设置各用户组的权限

B:在admin\admincp_usergroup.php文件中通过

clip_image008

语句将用户组配置文件更新至 usergroup表中

C:通过usergroup_cache 函数来更新缓存文件,根据用户组ID生成不同的缓存文件

clip_image010

其中data\data_usergroup.php 文件为所有用户组名称与ID 数组

其余的为其序列号对应的用户组ID的权限设置数组:权限查询方法为

$_SGLOBAL['usergroup'][1][allowblog]

clip_image012

D:在需要检查权限的各个文件中用checkperm(权限名) 分别进行权限的检查。而不是集中在入口处进行权限检查

实名认证

A:在后台设置未经实名认证的用户权限

B:将数据写入config表中 以var=>datavalue 键值对的形式存储

clip_image014

C:生成配置缓存文件于\data\data_config.php的数组中,调用方法:

$_SCONFIG[name_allowfriend]

D:在需要实名认证权限检查的文件中调用该函数查询是否具有某权限 ckrealname(‘blog’);

函数有返回值,但是在返回之前就已经跳转了,提示用户没有某个权限

视频认证:跟实名认证机制是一样的,只不过权限检查函数为 ckvideophoto(‘blog’);

指定文章(图片)等的浏览权限 (这里以文章浏览权限为例)

A:用户发布文章的时候指定是好友可见还是密码查看

B:数据传递给文章发布函数

C:文章发布函数,将数据写入 文章表blog中,

clip_image016

D:用户查看文章的时候,查询出该文章的隐私信息,然后在source\space_blog.php文件中通过下列语句来检查是否需要密码或者是否具有权限。

clip_image018

相关文章

Leave a Reply