在WordPress插件开发中,用户的检查能力和用户的角色检查哪个更安全

时间:2016-02-18 作者:Neeraj Kumar Jha

假设我需要检查登录的用户是订阅者,而不是其他任何人。因此,如果我检查“读取”之类的功能。订阅服务器正常,但“读取”功能也与管理员/发布服务器相关。因此,仅检查功能并不能保证其仅适用于订阅者。

第二个场景,假设我创建了两个自定义角色,如“供应商”和“分销商”,它们都具有相同的功能。所以在这种情况下,区分并提供安全检查的作用是有益的。

检查角色而不是检查功能是否存在任何缺点或安全问题?

1 个回复
SO网友:Charles

我总是喜欢role “检查”
与您的情况一样:

if ( current_user_can( \'vendor\' ) ) {
    // do stuff
}
当然还有分销商role 由您创建

通过这种方式,您可以确保其中一个不会干扰另一个,并且可以分配每个role 到自己的“任务”(例如,只允许编辑特定的custom post type 甚至是他/她自己的meta-box)即使功能相同
关于可能的安全风险,我无法判断,这完全取决于您为这些角色添加的功能。选择依据role就我所知,这给了你更多的自由,也没有负面影响

您唯一需要注意的是,您必须在划分任务/允许访问特定任务时进行后续操作role.

不知道这是否是一个对您有帮助的答案,也许这里的其他一些用户可以/将比我更好地通知您<我写的这篇文章是从我的角度来看的,所以请作客

相关推荐

如何解决1145行/wp-includes/capabilities.php中的通知:未定义的偏移量:0

我已经看过这个问题的以前的例子,但根据我从其他人那里看到的情况,我找不到导致这个通知的解决方案。当我添加新帖子时,这会出现在屏幕顶部。1145是:$post = get_post( $args[0] ); 我没有收到任何其他类型的错误,因此我不确定这是在我的代码中导致问题的地方。Any help on this?代码如下://show metabox in post editing page add_action(\'add_meta_boxes\', \'kk_add_metabox\