【小结】动网防恶意软件方法

论坛被软件恶意注册发贴长期以来一直困扰着好多站长,之前也有好心的网友提出了解决的办法,然而用的人一多,软件作者并做了相应的升级,真是道高一尺魔高一丈,今天我们就不说具体的某种方法了,而是教大家怎么去修改,以打造自己特有的防恶意发贴方法,参数各异,方法各异,除非你的论坛太出名了,不然相信软件作者才懒得去针对你一个论坛升级软件,所以此法对小站长们还是颇为受用的。好了,废话不多说,且看我怎么做(论坛版本:Dvbbs Version 7.1.0 Sp1):
    登陆后台选择左边菜单“风格界面模板总管理”点击,在页面右边找到“分页面模板(page_login)”,点“界面风格”,如下图所示:

在打开的页面中找到“template.html(13)”部分,找到如下代码如下:
<tr>
<td class="tablebody1"><b>Email地址</b>:<br />请输入有效的邮件地址,这将使您能用到论坛中的所有功能<br />如xxx@yahoo.com.cn,<a href="http://cn.mail.yahoo.com/?id=79104">如果没有邮箱,请先注册雅虎G免费邮箱</a></td>
<td class="tablebody1">
<input name="e_mail" type="text" size="30" maxlength="50" />
<input name="button" type="button" onclick="gopreview1()" value='检测帐号' /></td>
</tr>
<tr>
<td class="tablebody1"><b>论坛通行证(可不填写)</b>:<br />
可绑定已有论坛通行证或新建论坛通行证帐号<bR>
请输入已注册的论坛通行证或需新建的通行证帐号名称
</td>
<td class="tablebody1">
<input name="Forum_Passport" type="text" size="30" maxlength="50" />
<a href="http://www.dvbbs.net/passport/help.asp" title="注册论坛通行证可让您使用一个帐号通行于国内大部分的网络论坛社区,点击查看更详细帮助" target="_blank">关于论坛通行证</a></td>
</tr>
{$difference}
</table>

今天我们要做的就是在Email地址一行后添加新的一行,也就是为了防止恶意软件而设的,最终效果应如下:
<tr>
<td class="tablebody1"><b>Email地址</b>:<br />请输入有效的邮件地址,这将使您能用到论坛中的所有功能<br />如xxx@yahoo.com.cn,<a href="http://cn.mail.yahoo.com/?id=79104">如果没有邮箱,请先注册雅虎G免费邮箱</a></td>
<td class="tablebody1">
<input name="e_mail" type="text" size="30" maxlength="50" />
<input name="button" type="button" onclick="gopreview1()" value='检测帐号' /></td>
</tr>

<tr>
<td class="tablebody1"><b>说明信息</b> </td>
<td class="tablebody1">表单(<input name="独特的名字" type="text" />)</td>
</tr>

<tr>
<td class="tablebody1"><b>论坛通行证(可不填写)</b>:<br />
可绑定已有论坛通行证或新建论坛通行证帐号<bR>
请输入已注册的论坛通行证或需新建的通行证帐号名称
</td>
<td class="tablebody1">
<input name="Forum_Passport" type="text" size="30" maxlength="50" />
<a href="http://www.dvbbs.net/passport/help.asp" title="注册论坛通行证可让您使用一个帐号通行于国内大部分的网络论坛社区,点击查看更详细帮助" target="_blank">关于论坛通行证</a></td>
</tr>
{$difference}
</table>

红色部分则是我们添加的内容(下边我们称此处为A处),然后再打开reg.asp,找到如下部分:
If Dvbbs.forum_setting(78)="1" Then
    If Not Dvbbs.CodeIsTrue() Then
         Response.redirect "showerr.asp?ErrCodes=<li>验证码校验失败,请返回刷新页面后再输入验证码。&action=OtherErr"
    End If
End If

在其背后添加一些与A处对应的校验信息即可(下边我们称此处为B处),如下红色部分:
    If Dvbbs.forum_setting(78)="1" Then
        If Not Dvbbs.CodeIsTrue() Then
             Response.redirect "showerr.asp?ErrCodes=<li>验证码校验失败,请返回刷新页面后再输入验证码。&action=OtherErr"
        End If
    End If

    If Request.form("A处表单名字")<>结果 Then ErrCodes=ErrCodes+"<li>"+"错误信息!"
OK,基本思路就是这样,下面我再总结下目前常见的几种防恶意软件的方法,希望大家能举一反三:

1.要求输入指定的固定信息:
A处修改如下:
<tr>
<td class="tablebody1"><b>防恶意软件项:</b><br />(请在右边输入:木子屋) </td>
<td class="tablebody1"> <input name="Stopattacks0914" type="text" /></td>
</tr>

B处修改如下:
If Request.form("Stopattacks0914")<>”木子屋” Then ErrCodes=ErrCodes+"<li>"+"防恶意软件项输入有误!"
注:Stopattacks0914可改为任意复杂的名字,但得保证A、B两处相同!下同。

2.要求输入指定的随机信息,如日期、年、月、日、星期等:
A处修改如下:
<tr>
<td class="tablebody1"><b>防恶意软件项:</b><br />(请在右边输入当前月份) </td>
<td class="tablebody1"> <input name="Stopattacks0914" type="text" />提示:现在是<font color=red><script language="vbscript">document.write month(now)</script></font>月</td>
</tr>

B处修改如下:
If Request.form("Stopattacks0914")<> Cstr(month(now)) Then ErrCodes=ErrCodes+"<li>"+"防恶意软件项输入有误!"
如输入的要是年可将A、B两处的month(now())改为year(now)
如输入的要是日可将A、B两处的month(now())改为day(now)
如输入的要是小时可将A、B两处的month(now())改为hour(now)

OK,先说到这边,如还有其他好方法欢迎大家跟贴补充或到木子屋(http://www.mzwu.com)发表留言。

今天看到另一个不错的方法,,注意:改之前一定要做好备份,以防止出错!

1)  将reg.asp改名,比如:dv120reg.asp
2) 用记事本将dv120reg.asp打开,查找所有的字符串reg.asp把它全部替换dv120reg.asp
3) 进入后台,风格模板管理中,将分页面模板(page_login) ------------- template.html(12)和template.html(13)  中的 reg.asp改成dv120reg.asp
4)  在后台中分页面模板(page_index)中,把所有reg.asp改成dv120reg.asp

评论: 1 | 引用: 0 | 查看次数: 5477
发表评论
登录后再发表评论!