|
<b>[分享]对付论坛群发软件的方法(050614最后更新)!!
</b>
<>现在已有不少动网用户受到了一种称为“暴力营销”(168BBS)软件的骚扰。</P>
<>该软件可以自动注册一个随机的新用户,并且发广告帖。根据作者声称:该软件可以在一小时内在2——5万个论坛群发广告。</P>
<>官方似乎暂时还没有公布解决方案,于是我总结了几条解决的方法,供大家参考。</P>
<><FONT color=#ff00cc><b>希望大家把自己改后的效果反馈一下,以便更好地对付群发。同时也希望大家把自己比较好的方法和大家分享。
不是每条都要挨着执行,也不是每条都一定有效,你可选用其中的几种方法。</b></FONT></P>
<><b><FONT color=#ff00cc>根据大家的反馈,发现第二和第五两种方法最有效果,推荐使用。尤其是二!</FONT></b></P>
<><b>一、更正验证码的易破解性</b></P>
<P>之前不论在7.0和7.1中,验证码都存在着缺陷,可以通过程序自动识别出验证码上的数字,于是没有真正起到验证码的作用。我们可以在注册时设置使用验证码,再按照以下方法修改。</P>
<P>验证码文件是Dv_GetCode.asp(7.1中)</P>
<P>找到这段代码:</P>
<P><FONT color=#0000ff> If Rnd * 99 + 1 < cOdds Then ' 随机生成杂点
Response.BinaryWrite vColorData(0)
Else</FONT></P>
<P>将其改为</P>
<P> <FONT color=#0000ff> If Rnd * 99 + 1 < cOdds Then ' 随机生成杂点
</FONT><FONT color=#ff0000> If Mid(vNumberData(vCode(ii)), i * 10 + iii, 1) Then
</FONT> <FONT color=#0000ff>Response.BinaryWrite vColorData(0)
</FONT> <FONT color=#ff0000>Else
</FONT><FONT color=#ff0000> Response.BinaryWrite vColorData(1)
End If</FONT>
<FONT color=#0000ff> Else</FONT></P>
<P><FONT color=#000000>另外,找到以下代码</FONT></P>
<P><FONT color=#0000ff>Const cOdds = 2 ' 杂点出现的机率</FONT></P>
<P>把2设置的稍大一些,建议设置为5~10。</P>
<P><FONT color=#ff00ff>以上部分的修改已经被很多实践证明效果很不明显。假如你有耐心,可以再试用手工修改验证码图片的方法(因麻烦故不推荐),这个一定有效果!如下:</FONT></P>
<P>这里我给出了一个自己做验证码的方法,里面有说明。
<IMG src="http://bbs.dvbbs.net/skins/default/filetype/rar.gif" border=0> <a href="http://bbs.dvbbs.net/viewFile.asp?Boardid=8&ID=77790" target="_blank" ><FONT color=#000000>点击浏览该文件</FONT></A></P>
<P>这个是另一个朋友提供的验证码工具:<a href="http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=958224&page=1" target="_blank" ><FONT color=#000000>http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=958224&page=1</FONT></A></P>
<P><FONT color=#ff00ff>使用7.0的用户可以用7.1的这个文件覆盖原来的。如果你修改了验证码的图片,可以不再考虑杂点的问题。</FONT></P>
<P><b>二、更改提交表单的元素属性</b></P>
<P>此方法为“研究动网”朋友提出来的。它可以在不用验证码系统的条件下对付群发软件。</P>
<P>在论坛注册页面,用户名,密码文本框的 name属性分别默认为name和psw。我们可以修改其属性达到限制软件注册的效果。</P>
<P>具体方法如下,7.0和7.1均适用:</P>
<P>进入后台,风格界面模板总管理 / 分页面模板<a href="http://127.0.0.1/dvbbs/admin/template.asp#" target="_blank" ><FONT color=#000000>(page_login)</FONT></A> / 界面风格 / template.html(13)</P>
<P>找到 <FONT color=#0000ff><INPUT maxLength="{$NameMaxLength}" size=30 name=<FONT color=#dd22dd>name</FONT>></FONT></P>
<P><FONT color=#000000>将粉色的name改为其他值,比如改成 “name1”</FONT></P>
<P><FONT color=#000000>然后打开reg.asp,以关键词<FONT color=#ff00ff>Request.form("name")</FONT>进行搜索</FONT></P>
<P>将其全部替换为<FONT color=#ff0000>Request.form("name1")</FONT></P>
<P><FONT color=#ff0000><FONT color=#000000>当然那个name1就是刚才你在风格模板里改的值
</FONT></P></FONT>
<P><b>三、设置注册延时</b></P>
<P>设置新注册用户不能发帖,要一分钟或更多的时间后才能发帖。这样可以在一定程度上抵制非注册软件的攻击。但是对注册了的软件没有作用。</P>
<P><b>四、设置至少要有一个中文字符注册</b></P>
<P>这个方法并不太好,因为很多人实际上都比较喜欢用纯英文名。但是有不少朋友提出这个想法,这里还是列出在7.0和7.1里面的修改方法吧:</P>
<P>reg.asp文件,在蓝色代码</P>
<P><FONT color=#0000ff>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</FONT></P>
<P><FONT color=#000000>下添加以下红色代码</FONT>
<FONT color=#ff0000>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</FONT></P>
<P><b>五、修改注册页面的地址</b></P>
<P>首先将论坛根目录下的reg.asp改名,比如改成reg1.asp,然后进入后台 / 风格界面模板总管理 </P>
<P>在main_Style,Page_Login的“界面风格”中搜索“reg.asp”(注意7.0中不要把chkreg.asp替换了),全部替换成比如“reg1.asp”</P>
<P>===========================================================</P>
<P>几点补充(2005-06-14):</P>
<P>1、第一种方法<FONT color=#ff00ff>前半部分</FONT>关于修改论坛杂点的方法已证明无用。</P>
<P>2、第二种方法中,当用户注册一个已经存在的用户名时,检测帐号时提示"可以正常注册",而实际上却不能。
这是个比较小的问题。
可以修改inc/Mymodify.js。找到<FONT color=#0000ff>document.theForm.name.value</FONT><FONT color=#000000>,将其改成<FONT color=#ff00ff>document.theForm.name1.value</FONT>(假设你以前是将“name”改成“name1”。要注意的是这个改后的名字比如name1只能是字母数字和下划线的组合且首字符必须是字母)。</FONT></P>
<P>3、第五种方法需要修改的分页面模板除了Main_Style,page_login以外,还有page_index,page_paper_even_toplist,page_showerr,page_post。</P>
<P><FONT color=#000000></FONT></P>
<P>4、对付“群发王”,“论坛狂帖”等利用已注册的用户来发帖的软件。</P>
<P>后台 / 风格界面模板总管理 / page_dispbbs / 界面风格
后台 / 风格界面模板总管理 / page_post / 界面风格</P>
<P>搜索<FONT color=#0000ff>name="Body"</FONT><FONT color=#000000>,全部替换成比如<FONT color=#ff00ff>name="Body1"</FONT></FONT><FONT color=#000000>,然后打开savepost.asp,将</FONT><FONT color=#0000ff>Request.Form("body")</FONT><FONT color=#000000>替换成比如</FONT><FONT color=#ff00ff>Request.Form("Body1") </FONT>。</P>
<P>5、几个供参考的链接:</P>
<P><b>以理论的角度论对抗群发软件,兼论OCR
</b><a href="http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=968567" target="_blank" ><FONT color=#000000>http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=968567</FONT></A>
</P>
<P><b>群发软件“论坛狂帖”v2.0的工作原理
</b><a href="http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=994194" target="_blank" ><FONT color=#000000>http://bbs.dvbbs.net/dispbbs.asp?boardID=8&ID=994194</FONT></A></P>
<P><b>“QBQ战鹰”</b><b>重新修改过的验证码生成程序</b>
<a href="http://bbs.dvbbs.net/dispbbs.asp?BoardID=8&ID=956875&replyID=1596692&skin=1" target="_blank" ><FONT color=#000000>http://bbs.dvbbs.net/dispbbs.asp?BoardID=8&ID=956875&replyID=1596692&skin=1</FONT></A></P>
<P>
<FONT color=#4444bb>--------------------------------------
编辑下楼主的贴,方便其他朋友阅读。
另外,还要感谢一下楼主的热心 :)
</FONT><FONT color=#4444bb>
改变验证码的颜色的用处是有限的,OCR会先将图片转为灰色再进行识别,那么原图片是红色或者蓝色灰度以后区别都不大,而加杂点或者干扰线就能起到比较好的效果,
帆若无 050429</FONT></P>
|
|