第一次被暴力群发骚扰是去年的时候,加了验证码,防住了!
第二次是一个叫搜客的软件,按照论坛里各位大虾说的,加一个必须回答的问题,再加一个隐藏的选择框,防住了!
从前天开始,被一个叫营销利剑的软件骚扰,郁闷
所以...决定制作一个插件,干掉暴力群发......等我的好消息吧~~~~!
让搜客和利剑去死吧!!!!!
2006年12月19日:有的朋友出现乱码的情况,和空白页的情况,我也不知道是什么原因,有高手的话,请指点一下!
2007年1月3日:已解决乱码问题,请下载新的附件即可!!!!感谢会员:george136提供解决方案
[quote]原帖由 wjmwaq 于 2006-11-25 18:28 发表
那个随机数字不是一样嘛,开始可以防住,后来不能防了
解释一下,这个功能的原理.
该功能跟一下几个因素有关:
1.数字的和
2.当前时间
3.特殊的hash字符串
因此,理论上是很难被破解的~~!请大家放心使用!![/quote]
好,我们开始安装吧~~~!
1.首先下载secnum.php文件,修改该文件的开始的设置部分,上传至论坛的根目录,
num_list 为使用到的数字,参与计算的数字在左边, 使用半角的波浪线(~)作为分隔符,后面是该数字的显示内容.多个数字再以半角的逗号(,).
例如"1~1,2~2,3~3,4~4,5~5,6~6,7~7,8~8,9~9,10~10"
"1~one,2~two,3~three,4~four,5~five,6~six,7~seven,8~eight,9~nine,10~ten"
当然可以使用更大的数字来增加难度
hashname 为论坛的特征字符串,可以用自己论坛的名字,或随机的字符串,只要大家都不一样就可以了!
hashname自己定一个就好,只要大家不一样就好!
下面两个变量也是有用的,会用的同学就自己改一下,不会的就保留原样,无非是让各个论坛的设置不一样,让注册机失效.
- $secnum['fieldname_useranswer'] = "$mcspvalue";
- $secnum['fieldname_mathresult'] = "$mcspinfo";
复制代码
scdxs 会员提出安装后乱码的问题,经修改把注释文件删除后问题就解决了,有出现乱码的朋友请把secnum.php中的注释删除即可!2006年11月27日
2.然后打开register.php文件
查找
- require_once './include/common.inc.php';
复制代码
在下面添加
- require_once './secnum.php';
复制代码
查找
- $enctype = $groupinfo['allowavatar'] == 3 ? 'enctype="multipart/form-data"' : NULL;
复制代码
在下面添加
- $mcsp_info = math_comment_spam_protection();//hack secnum
复制代码
查找
在上面添加
- $checksecnum=mcsp_check_input($secnum['fieldname_useranswer'],$secnum['fieldname_mathresult']);
- if($checksecnum=='no_answer') {
- showmessage("对不起,你忘记做我们的算术题了,请返回填写!");
- }elseif($checksecnum=='wrong_answer') {
- showmessage("这么简单的题目都做错,赶快返回再算一次!");
- }
复制代码
3.打开register.htm模版文件
查找(如果你喜欢把这个问题添加在别的地方,可以自己选择,如果不明白,就找这个)
在上面添加
- <tr>
- <td class="altbg1"><span class="bold">防止暴力注册</span></td>
- <td class="altbg2"><div class="input"><input type="text" name="mcspvalue" size="25" maxlength="15" id="mcspvalue"></div>请计算一个简单的加法 $mcsp_info[operand1] + $mcsp_info[operand2] ,将结果填写至左边.<input type="hidden" name="mcspinfo" value="$mcsp_info['result']">
- </td>
- </tr>
复制代码
4.完成了!!!
就算上面的工作全部完成,仍然有可能出现人工注册并把注册好的信息导入软件群发的情况,所以肯定可以把这个功能加入到登录,发帖和回帖的地方,M55说过:授人以鱼不如授人以渔!,我下面说一下secnum.php的用法
1.首先在php页面包含一下secnum.php文件
2.在php文件中$mcsp_info = math_comment_spam_protection();//hack secnum获取所显示的随机问题和答案
3.在模版中<div class="input"><input type="text" name="mcspvalue" size="25" maxlength="15" id="mcspvalue"></div>请计算一个简单的加法 $mcsp_info[operand1] + $mcsp_info[operand2] ,将结果填写至左边.<input type="hidden" name="mcspinfo" value="$mcsp_info['result']">,显示问题
4.最后在提交的时候,验证问题是否正确!
$checksecnum=mcsp_check_input($secnum['fieldname_useranswer'],$secnum['fieldname_mathresult']);
if($checksecnum=='no_answer') {
showmessage("对不起,你忘记做我们的算术题了,请返回填写!");
}elseif($checksecnum=='wrong_answer') {
showmessage("这么简单的题目都做错,赶快返回再算一次!");
}
登录页面的演示:http://www.kengni.com/logging.php?action=login
我不给大家提供了,请会的朋友也不要直接把代码贴给别人,让大家自己尝试一下~~!好么???
希望大家共同进步~~!
[ 本帖最后由 xuesharp 于 2007-1-3 04:26 编辑 ] |