mite 发表于 8-5-2010 00:06:17

为什么说“报告45秒才可以”?

我没有在45秒前报告过啊

郁闷 无法报告

Dreamhouse 发表于 8-5-2010 00:17:27

我也有同样的经验

麦麦语言间短
我估计看得懂的人不多

我支持一下。

mite 发表于 8-5-2010 00:18:09

:$ ;P :P :L :lol

chubbycat 发表于 8-5-2010 00:51:09

;P ;P ;P

mite 发表于 8-5-2010 01:00:14

应该是个BUG :Q

ubuntuhk 发表于 8-5-2010 02:22:13

回复 #5 mite 的帖子

45秒内回过帖也会被视为“报告”过,这确实是个bug:L :L

刘叔 发表于 8-5-2010 11:23:46

回复 #6 ubuntuhk 的帖子

.
WWWROOT\DISCUZ\MISC.PHP

L676

if(!submitcheck('reportsubmit')) {

改为

if(!submitcheck('reportsubmit',1)) {

试试看

mite 发表于 8-5-2010 13:37:41

大公寓主

厉害啊

ubuntuhk 发表于 8-5-2010 13:49:14

回复 #7 刘叔 的帖子

看了一下,这个函数不是检查报告时间的,看来是用于检查验证码等功能。

刘叔 发表于 8-5-2010 18:43:28

回复 #9 ubuntuhk 的帖子

啊哈哈,被U版看穿了啊.......................:yct_71

谢谢各位加分,我是友情客串跑龙套的..................................:mk_11

ubuntuhk 发表于 8-5-2010 20:27:10

回复 #10 刘叔 的帖子

还是不work:P :P

刘叔 发表于 8-5-2010 22:14:40

回复 #11 ubuntuhk 的帖子

第二次我给你说的是问题点,又没说怎么改,怎么就又不WORK了呢?:L

你看看上下文的代码,说的很清楚了。

$floodctrl = $floodctrl * 3;
if($timestamp - $lastpost < $floodctrl) {
        showmessage('thread_report_flood_ctrl');
}

1) 'thread_report_flood_ctrl'见messages.lang.php,“'对不起,您两次报告间隔不得少于 $floodctrl 秒,请返回”。搜索发现仅有此处调用,肯定在这里了;
2) 代码使用lastpost,而不是最后一次报告的时间,bug就是这么来滴;
3) 报告的时间控制比发贴更严格,有 $floodctrl = $floodctrl * 3,所以普通发贴15秒,要想报告得45秒;
4) 完全修复——这是很烦滴,大约涉及到common.inc.php、misc.php、pm表查询最后报告时间;
5) 最省修复——把 $floodctrl = $floodctrl * 3 的乘号改为除号,不过这样在安全性上有损失;
6) 最好修复——把解释文字修改一下:对不起,您本次报告距上次报告或发贴的间隔时间少于 $floodctrl 秒,与论坛安全策略有冲突,请返回。

多好,“报告或发贴”,再把“安全策略”抬出来,保证麦麦没什么可抱怨的 ;P

ubuntuhk 发表于 9-5-2010 00:08:29

回复 #12 刘叔 的帖子

刘叔牛! :good :zan :zan

我用了方案5,最省修复,偷懒一下:P

呵呵,我之前看错了,把

        if(!$reportpost) {
                showmessage('thread_report_disabled');
        }

整段都屏蔽了,发现还是有45秒限制。
页: [1]
查看完整版本: 为什么说“报告45秒才可以”?