防注册机恶意注册的小修改

上一篇 / 下一篇  2006-09-11 14:24:09 / 天气: 晴朗 / 心情: 高兴 / 不允许评论 / 个人分类:PHP

防注册机恶意注册的小修改!


好多站现在被那些垃圾的注册机给骚扰了,偶的小站前两天也有,太恶心了
其实有一个小办法很容易防止的,即便不会彻底根除但是至少也会让那些畜生辛苦一下的。

原理很简单,一会开始做的时候稍微懂点的朋友都能明白怎么回事。

注意这个功能不会在标准程序中加入的,原因很简单,标准中存在了让人研究透了还是没什么意义的了。

开始付诸行动吧:
为了方便日后维护,本修改部分都有极其详细的标记说明。

首先编辑打开config.inc.php,在最下面加入如下内容:


QUOTE:
//开始防止注册机注册限制功能:Deepseath 2005年8月16日 16:15:11
        $dpformhashvariable        =        'ASDF324234asdfs123';
                //设置个性标记名,长度没有限制,但是最好小于64位,只能包含字母以及数字,不允许出现空格。
                //最好不要与其他论坛一样,否则这个功能没多大意义了
                //如果此处为空则关闭本功能——不开启防注册机注册功能

        $dpformhasherror        =        '抱歉!非法注册!!';
                //此处为非法注册失败时候出现的提示内容。
//本修改涉及3个文件:config.inc.php、register.php、模板register.htm
//本修改来源自:http://www.discuz.net/viewthread.php?tid=153832
///////////结束功能定制。

请将上面红色部分改为其他字符!!!!!如果此处为空 或者 同默认一样 的话这个功能 可能无效 或者 不会被启用的!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

然后编辑模板register.htm在表单范围内加入如下内容:


[Copy to clipboard]CODE:
{eval /*开始防止注册机注册限制功能:Deepseath 2005年8月16日 16:15:11*/}
<!--{if $dpformhashvariable}-->
        {eval $dp_form_hash_variable        =        'dp_'.$dpformhashvariable.'_'.$timestamp;}
        {eval $dp_form_hash_value        =        md5('deepseath'.substr($timestamp,-6).$dpformhashvariable.$timestamp.'deepseath');}
        {eval echo "<input type=\"hidden\" name=\"".$dp_form_hash_variable."\" value=\"".$dp_form_hash_value."\">";}
        {eval echo "<input type=\"hidden\" name=\"dp_form_hash_variable_re\" value=\"".($timestamp - 19790731)."\">";}
<!--{/if}-->
{eval /*本修改涉及3个文件:config.inc.php、register.php、模板register.htm*/}
{eval /*本修改来源自:http://www.discuz.net/viewthread.php?tid=153832 */}

比如,你可以将这段代码加入到


[Copy to clipboard]CODE:
        <tr>
        <td class="altbg1">{lang email}:</td>
        <td class="altbg2"><input type="text" name="email" size="25"><!--{if $regverify == 1}-->&nbsp; <span class="smalltxt">{lang register_email_comment}</span><!--{/if}--></td>
        </tr>

后面,位置随便,只要在<form>表单域里面就行。

最后编辑打开register.php,查找


[Copy to clipboard]CODE:
        if(!isemail($email)) {
                showmessage('profile_email_illegal');
        }

在其下面加入


[Copy to clipboard]CODE:
//开始防止注册机注册限制功能:Deepseath 2005年8月16日 16:15:11
        if ($dpformhashvariable) {
                $dp_form_hash_time                =        $dp_form_hash_variable_re+19790731;
                $dp_form_hash_variable        =        'dp_'.$dpformhashvariable.'_'.$dp_form_hash_time;
                if (empty($dp_form_hash_variable_re) || empty($$dp_form_hash_variable) || $dp_form_hash_time >= $timestamp || $$dp_form_hash_variable != md5('deepseath'.substr($dp_form_hash_time,-6).$dpformhashvariable.$dp_form_hash_time.'deepseath') || $timestamp - $dp_form_hash_time > 900) {
                        showmessage($dpformhasherror);
                }
        }
//本修改涉及3个文件:config.inc.php、register.php、模板register.htm
//本修改来源自:http://www.discuz.net/viewthread.php?tid=153832

相信明白程序的朋友一下就能看明白是怎么回事。这里就不解释了。希望能给大家一点帮助吧。

 

DZ的工程师提供的


TAG: Discuz PHP

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar