TShopping

標題: Discuz7.0限制灌水-【重複回帖限制】 [打印本頁]

作者: woff    時間: 2010-3-9 12:09
標題: Discuz7.0限制灌水-【重複回帖限制】
Discuz7.0限制灌水-【重複回帖限制】


從6.0演變過來的,經檢測後證明6.1是有效的...*
7.0略修
演示:
http://www.pole1010.ec168host.com/index.php
1,打開 include/newreply.inc.php, 查找:
  1. $attachment = empty($attachments) ? 0 : ($imageexists ? 2 : 1);
複製代碼


2,在下面增加:

  1. // ********************* 重複回帖檢測 *****************************

  2. $repeatlevel = 2;                        // 重複回帖的驗證級別

  3. $chk_sql = "SELECT COUNT(*) FROM {$tablepre}posts WHERE ";
  4. $chk_term = "";
  5. switch($repeatlevel) {
  6.         case 1:
  7.                 $chk_term = "subject='{$subject}'";
  8.                 break;
  9.         case 2:
  10.                 $chk_term = "message='{$message}'";
  11.                 break;
  12.         case 3:
  13.                 $chk_term = "subject='{$subject}' AND message='{$message}'";
  14.                 break;
  15.         case 4:
  16.                 $chk_term = "subject='{$subject}' AND message='{$message}' AND authorid='{$discuz_uid}'";
  17.                 break;
  18. }
  19. if($chk_term) {
  20.         $chk_num = $db->result($db->query($chk_sql . $chk_term), 0);
  21.         if($chk_num > 0) {
  22.                 showmessage('請不要重複回帖,這很浪費資源的。請返回。');
  23.         }
  24. }
  25. // ********************* 重複回帖檢測 *****************************
複製代碼
關於回帖的重複檢測級別,
直接修改 $repeatlevel 參數就行了。下面是當這個變量的值為1~4的時候所代表的級別:




1 - 標題與數據庫裡的記錄一致即算重複
2 - 內容與數據庫裡的記錄一致即算重複
3 - 內容、標題與數據庫裡的記錄都一致算重複
4 - 內容、標題、用戶名與數據庫裡的記錄都一致算重複






作者: cosplay01    時間: 2011-12-9 00:35
說的不錯  
作者: love779978    時間: 2012-3-5 00:33
看看.........  
作者: n123lf7r    時間: 2012-3-5 00:59
我也來頂一下..  
作者: pf9mv1s    時間: 2012-12-23 13:16
不错,支持下!

















歡迎光臨 TShopping (http://www.tshopping.com.tw/) Powered by Discuz! X3.2