動網論壇對付論壇群發軟件的方法_動網論壇教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      現在已有不少動網用戶受到了一種稱為“暴力營銷”(168BBS)軟件的騷擾。

      該軟件可以自動注冊一個隨機的新用戶,并且發廣告帖。根據作者聲稱:該軟件可以在一小時內在2——5萬個論壇群發廣告。

      官方似乎暫時還沒有公布解決方案,于是我總結了幾條解決的方法,供大家參考。

      希望大家把自己改后的效果反饋一下,以便更好地對付群發。同時也希望大家把自己比較好的方法和大家分享。
      不是每條都要挨著執行,也不是每條都一定有效,你可選用其中的幾種方法。

      根據大家的反饋,發現第二和第五兩種方法最有效果,推薦使用。尤其是二!

      一、更正驗證碼的易破解性

      之前不論在7.0和7.1中,驗證碼都存在著缺陷,可以通過程序自動識別出驗證碼上的數字,于是沒有真正起到驗證碼的作用。我們可以在注冊時設置使用驗證碼,再按照以下方法修改。

      驗證碼文件是Dv_GetCode.asp(7.1中)

      找到這段代碼:

      If Rnd * 99 + 1 < cOdds Then ' 隨機生成雜點
      Response.BinaryWrite vColorData(0)
      Else

      將其改為

      If Rnd * 99 + 1 < cOdds Then ' 隨機生成雜點
      If Mid(vNumberData(vCode(ii)), i * 10 + iii, 1) Then
      Response.BinaryWrite vColorData(0)
      Else
      Response.BinaryWrite vColorData(1)
      End If

      Else

      另外,找到以下代碼

      Const cOdds = 2 ' 雜點出現的機率

      把2設置的稍大一些,建議設置為5~10。

      以上部分的修改已經被很多實踐證明效果很不明顯。假如你有耐心,可以再試用手工修改驗證碼圖片的方法(因麻煩故不推薦),這個一定有效果!如下:

      這里我給出了一個自己做驗證碼的方法,里面有說明。
      mb5u_DVBBS附件
       

      這個是另一個朋友提供的驗證碼工具:http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=958224&page=1

      使用7.0的用戶可以用7.1的這個文件覆蓋原來的。如果你修改了驗證碼的圖片,可以不再考慮雜點的問題。

      二、更改提交表單的元素屬性

      此方法為“研究動網”朋友提出來的。它可以在不用驗證碼系統的條件下對付群發軟件。

      在論壇注冊頁面,用戶名,密碼文本框的 name屬性分別默認為name和psw。我們可以修改其屬性達到限制軟件注冊的效果。

      具體方法如下,7.0和7.1均適用:

      進入后臺,風格界面模板總管理 / 分頁面模板(page_login) / 界面風格 / template.html(13)

      找到 <INPUT maxLength="{$NameMaxLength}" size=30 name=name>

      將粉色的name改為其他值,比如改成 “name1”

      然后打開reg.asp,以關鍵詞Request.form("name")進行搜索

      將其全部替換為Request.form("name1")

      當然那個name1就是剛才你在風格模板里改的值

      三、設置注冊延時

      設置新注冊用戶不能發帖,要一分鐘或更多的時間后才能發帖。這樣可以在一定程度上抵制非注冊軟件的攻擊。但是對注冊了的軟件沒有作用。

      四、設置至少要有一個中文字符注冊

      這個方法并不太好,因為很多人實際上都比較喜歡用純英文名。但是有不少朋友提出這個想法,這里還是列出在7.0和7.1里面的修改方法吧:

      reg.asp文件,在藍色代碼

      If Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or Instr(username,",")>0 or Instr(username,"'")>0 or Instr(username,",")>0 or Instr(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username,"")>0 or Instr(username,"$")>0 or Instr(username,"|")>0 Then
      Dvbbs.AddErrCode(19)
      Exit sub
      End If

      下添加以下紅色代碼

      Dim IsCHName
      IsCHName = False
      For i = 1 To Len(UserName)
      If Asc(Mid(UserName, i, 1)) < 0 Then
      IsCHName = True
      Exit For
      End If
      Next
      If Not IsCHName Then
      Response.redirect "showerr.asp?ErrCodes=<li>請至少輸入一個中文字符。&action=OtherErr"

      End If

      五、修改注冊頁面的地址

      首先將論壇根目錄下的reg.asp改名,比如改成reg1.asp,然后進入后臺 / 風格界面模板總管理

      在main_Style,Page_Login的“界面風格”中搜索“reg.asp”(注意7.0中不要把chkreg.asp替換了),全部替換成比如“reg1.asp”

      ===========================================================

      幾點補充(2005-06-14):

      1、第一種方法前半部分關于修改論壇雜點的方法已證明無用。

      2、第二種方法中,當用戶注冊一個已經存在的用戶名時,檢測帳號時提示"可以正常注冊",而實際上卻不能。
      這是個比較小的問題。
      可以修改inc/Mymodify.js。找到document.theForm.name.value,將其改成document.theForm.name1.value(假設你以前是將“name”改成“name1”。要注意的是這個改后的名字比如name1只能是字母數字和下劃線的組合且首字符必須是字母)。

      3、第五種方法需要修改的分頁面模板除了Main_Style,page_login以外,還有page_index,page_paper_even_toplist,page_showerr,page_post。

       

      4、對付“群發王”,“論壇狂帖”等利用已注冊的用戶來發帖的軟件。

      后臺 / 風格界面模板總管理 / page_dispbbs / 界面風格
      后臺 / 風格界面模板總管理 / page_post / 界面風格

      搜索name="Body",全部替換成比如name="Body1",然后打開savepost.asp,將Request.Form("body")替換成比如Request.Form("Body1") 。

      5、幾個供參考的鏈接:

      以理論的角度論對抗群發軟件,兼論OCR
      http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=968567
       

      群發軟件“論壇狂帖”v2.0的工作原理
      http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=994194

      “QBQ戰鷹”重新修改過的驗證碼生成程序
      http://bbs.dvbbs.net/dispbbs.asp?BoardID=8&ID=956875&replyID=1596692&skin=1

       

      查看更多 動網論壇教程  動網論壇模板

      來源:動網論壇//所屬分類:動網論壇教程/更新時間:2009-11-24
      相關動網論壇教程