discuz防止恶意注册!

网上搜出来的,没试过,不知行不行得通,先记录下来。


1、把 register.php改成你想要的文件名。如:regist.php

2、打开:login.htm 找 register.php  替换成你刚才设置的文件名。如:regist.php

3、打开:register.htm 找 register.php  替换成你刚才设置的文件名。如:regist.php(注意有两处)

4、打开:nopermission.htm 找 register.php  替换成你刚才设置的文件名。如:regist.php

5、打开:header.htm 找<a href="$link_register">替换成<a href="刚才设置的文件名">如:<a href="regist.php”>

6、打开common.inc.php搜索 $link_register = 'register.php';把register换成你第一步改的regist.php



另一种方法:

经过测试,适合discuz 7系列的,其它版本大同小异吧。
论坛一直至被垃圾帖骚扰着
 测试了一些,这些注册还有发帖都是软件自动完成的,而非人工注册。
所以我想他们是通过自动搜索使用dz程序搭建的网站。
然后提交注册信息到register.php或者 其他的对应的注册文件。

但是即使dz后台修改了注册文件的url还是无效的。
他们还是可以搜索到。
也就是说他们自动探测这个注册链接的url,然后提交注册。

那么如果,我们把注册的url改成 一个静态的 html 网页。

这样他们就无法提交了。


而,这个静态的html网页其实是一段跳转代码。
也就是说,当真正的 人 点击注册后,会打开一个html页面,然后这个html页面
3秒后自动再跳转 真正的 注册.php 的 地址来。

这样,这些软件提交的信息都是提交到 html 静态页面上的,无法提交的 .php页面上,因为他们的注册机 软件 无法判断出这个。


所以你需要建立一个网页,取名为 register.html

代码很简单。

< head >
< title >论坛注册跳转页面< / title >
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< / head >
< body >
< table width="563" border="0" align="center" cellpadding="0" cellspacing="0" >
  < tr >
    <td height="125">nbsp;</td>
  </tr>
  <tr>
    <td height="195" bgcolor="#FFFFFF"><table border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td style="color:#333333; font-size:14px; font-weight:bold;">
          为杜绝垃圾广告群发机器人,2秒钟后将带您进入新页面<br /><br /></td>
        </tr>
      </table></td>
  </tr>
</table>
< script >
function jump()
{
       location.href = "http://bbs.mihua.net/index.php";
}
setTimeout("jump()", 3000);
< / script >
< / body >
然后把dz系统原来的register.php改名 为其他复杂的名字。(这一步很重要)

然后对应修改register.html 里面的跳转地址。

然后在dz后台修改注册文件的地址为 register.html


还要修取消掉 注册页面的 "浮动窗口"。 (在"界面"里面修改)

但是到这一步还没完。
你还需要稍微修改一下模板。

如果不修改,那么即使跳转到了 注册.php 页面 ,你点击提交。也是默认提交到 register.html 页面。

所以你需要修改 你的模板目录下的 register.htm 文件
注意是 你正在使用的的”模板“目录下的”register.htm“ 文件。

如果使用中的模板没有这个文件,那么到 default 默认模板??目录下找。

打开它,找如下字符  $regname ,修改其中的 $regname 为 你的 自己重命名的 注册.php地址。

还有在logging.php文件,在require_once DISCUZ_ROOT.'./uc_client/client.php';之后加上:$regname=‘注册.php’;

好了,用上这个方法后,我的论坛没哟一个垃圾注册了,也没有人发垃圾帖了。

但是我在原始访问日志里面可以看到很多 提交 到 register.html这个动态链接的,带"?"这些参数的访问。
这就是注册机在注册,但是他们是无法成功注册的,因为是静态的html,注册信息根本提交不到服务器。



你可能感兴趣的:(html,PHP,.net,软件测试,bbs)