男人许下的诺言就一定要遵守。 收藏本站
登陆 / 注册 搜索

阅读:3.4K   回复: 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

就解决问题了~
👂🚐🥛🆘🪰‏


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

太史庚 「初入古黑」 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
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表