Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

【严重BUG】收费组过期后,普通用户组永久性拥有收费用户组权限。

[复制链接]
第七游 发表于 2013-11-12 03:33:14 | 显示全部楼层 |阅读模式
本帖最后由 第七游 于 2013-11-12 06:18 编辑

是公共收费组出现的bug

前提。必须是用户购买了收费组 and 用户必须在收费组没过期之前切换到普通组,这样收费组过期后即可永久使用,这样普通组就可以永久使用收费组,虽然无法切换,但是所有权限都拥有

****重点:用户购买组后。手动切换到收费组,然后在切换回普通组。才出现bug,也就是在收费组合普通组之间切换几回 才会出现。因为从收费组,切换回普通组common_member 表的groupexpiry会变成0。如果不清零过期后 普通用户组被锁死,,是dz的代码逻辑有问题。估计是只判断了extgroupids字段、如果把该字段清空,就没啥事了,但是续费功能消失。

补充:如果是板块权设置一下 权限表达式 和该组不受限制,用户就进不了板块了,但只限制了板块 其他功能还是没限制


用户购买一次收费组,即可拥有永久权限@
购买的用户组 也就是 收费用户组  问题


所有收费用户组到期后,切换到普通用户组之后。普通用户组永久性拥有收费用户组权限。


附图

用户组已过期

下图板块系收费用户组,普通用户无法浏览和发帖(后台配置完全正确,其他没买过收费用户组的会员是无法浏览的,缓存等都清除干净)



这个图是vip板块 ,普通用户仍可继续发帖

确定是bug了。vip板块没有权限

bug发生描述::如果当前用户组是过期的收费用户组,所有连接都会被连接到到home.php?mod=spacecp&ac=usergroup&do=list ,没有问题

但是过期收费组一旦切换回普通用户组,,,普通用户组依然有收费组的权限



附数据库结构common_member



普通用户组现在是15,,时间是0  续费的收费组是24

附数据库结构common_member_field_forum




24组已过期

如果将common_member表里的extgroupids字段 值24 清空,,即可恢复正常,,但是前台的“续费”功能将丢失!



应该是php判断状态不全,希望尽快修复






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-11 01:05 , Processed in 0.144897 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表