要是因为烦恼很痛苦,就选择了轻松的选项,将来一定会后悔。 收藏本站
登陆 / 注册 搜索

阅读:3.5K   回复: 2

Discuz 抢沙发功能 bug,可看论坛无权限论坛主题

原创 [复制链接]
小执念 古黑浩劫论坛大牛 2022-8-23 23:40 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
在 导读 --> 抢沙发 中会出现已设定隐藏的私密版块标题,虽然一样进不去,但这已设定一般人无权限访问,却在抢沙发中出现标题跟发帖者ID。

就算关掉导读,在任何一个有设定私密论坛网址后面加上 /forum.php?mod=guide&view=sofa 就可以观察谁是 私密区内的人 这功能根本是大BUG。

此问题 在2013-8-22 已有人提出,说已处理,但实际并未解决。🧑‍🍳‎👗⌨😋✌

即使板块是隐藏的,在抢沙发那一栏依然能显示出帖子主题。这个BUG存在好久了,请问如何解决呢?

设置了用户不能访问的版块,如果没有人回复,也会显示在抢沙发上。任何会员可以看到标题。当然是点进不进的。但也没有了隐私。。

👏🌦🍊☪🐮‌---------------------

以上是论坛上很多人抱怨的问题,我今天也发现了...但是一直没人修复,看了看代码,发现修改两个文件就能解决的问题。

涉及到两个文件:👵‍💄⚒🙄🧠
  1. source/module/forum/forum_guide.php
  2. source/class/table/table_forum_sofa.php
复制代码


1. 打开 forum_guide.php 文件,搜索
  1. $view == 'sofa'
复制代码

🤙🎢🍍🚭🦕‎找到这里:
Discuz 抢沙发功能 bug,可看论坛无权限论坛主题 1.jpg

改成这个
  1. if($view == 'sofa') {👦‍🪖🪜😛🙏
  2. $sofa = C::t('forum_sofa')->fetch_all_by_fid($fids, $start, $num);
  3. $tids = array_keys($sofa);
  4. }
复制代码


Discuz 抢沙发功能 bug,可看论坛无权限论坛主题 2.jpg
👂🌞🍚🦌‏
2. 打开 table_forum_sofa.php 文件,搜索
  1. fetch_all_by_fid
复制代码


  👨‍⚕️‍👞💊💀✍
找到这里:
Discuz 抢沙发功能 bug,可看论坛无权限论坛主题 3.jpg

修改改成如下:
  1. public function fetch_all_by_fid($fid, $start = 0, $limit = 20) {
    💅🚈🍓🅿🦬‏
  2. return DB::fetch_all('SELECT * FROM %t WHERE fid IN(%n) ORDER BY tid DESC %i', array($this->_table, $fid, DB::limit($start, $limit)), $this->_pk);
  3. }
复制代码

Discuz 抢沙发功能 bug,可看论坛无权限论坛主题 4.jpg

就解决问题了~

👃🦼🍧❌🦉‍




上一篇
下一篇
帖子热度 3539 ℃

太史庚 「初入古黑」 2022-8-23 23:40 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

向楼主学习
小执念 古黑浩劫论坛大牛 2022-8-24 03:02 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
  1. if($view == 'sofa') {
  2. $sofa = C::t('forum_sofa')->fetch_all_by_fid($fids, $start, $num);
    🖕🚗🍼🆘🐂‍
  3. $tids = array_keys($sofa);
  4. }
复制代码

测试pre
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表