Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

注册、登入后台控制验证码D25sp1 by ejew

[复制链接]
ejew 发表于 2005-7-5 18:25:17 | 显示全部楼层 |阅读模式
插件名称:注册、登入后台控制验证码
作  者:ejew . 伊佳E网
适  用:D2.5Sp1/D2.5应该也可以
安装程度:简易
安装需求:本插件以D2.5SP1正式版050401为基础修改
作者网站:http://www.ejew.org
说  明:
验证码,防止用户利用机器人自动注册、登入、灌水!
最近论坛群发软件很猖獗,想找个验证码,有好几个,但是我一个也用不了,相信也有朋友用不了,所以我自已搜索相关资料,搞了个验证码,随手就加了注册、登入后台控制验证码,给大家玩玩

注册演示:http://www.ejew.org/bbs/register.php
登入演示:http://www.ejew.org/bbs/logging.php?action=login

升级数据库

  1. INSERT INTO `cdb_settings` VALUES ('ejewreg', '');
  2. INSERT INTO `cdb_settings` VALUES ('ejewlog', '');
复制代码



register.php

查找
  1. require './include/common.php';
复制代码


下面加入
  1. if($ejewreg) {
  2. require './ejewimage.php';
  3. }
复制代码


查找
  1. require DISCUZ_ROOT.'./include/discuzcode.php';
复制代码

下面加入
  1. if($ejewreg && ($HTTP_POST_VARS["number"] != $HTTP_SESSION_VARS[login_check_number] || empty($HTTP_POST_VARS["number"]))){
  2. showmessage( '验证码未输入或输入错误', 'register.php');
  3.         die();
  4.     }
复制代码





logging.php

查找
  1. require './include/common.php';
复制代码


下面加入
  1. if($ejewlog) {
  2. require './ejewimage.php';
  3. }
复制代码


查找
  1.                 include template('login');
  2.         } else {
复制代码


下面加

  1.     if($ejewlog && ($HTTP_POST_VARS["number"] != $HTTP_SESSION_VARS[login_check_number] || empty($HTTP_POST_VARS["number"]))){
  2. showmessage( '验证码未输入或输入错误',  'logging.php?action=login');
  3.         die();
  4.     }
复制代码


register.htm

查找
  1. {lang register_email_comment}<!--{/if}--></td>
  2.         </tr>
复制代码

下面加入
  1. <!--{if $ejewreg}-->
  2. <tr>
  3. <td bgcolor="{ALTBG1}">验证码:</td>
  4. <td bgcolor="{ALTBG2}"> <input name="number" type="text" maxlength="4" tabindex="3" size="12" height="20"> <img src="ejewimage.php?act=ejew" border="0" align="absmiddle"></td>
  5. </tr>
  6. <!--{/if}-->
复制代码


login.htm

查找
  1. <tr>
  2. <td bgcolor="{ALTBG1}">{lang security_answer}:</td>
  3. <td bgcolor="{ALTBG2}"><input type="text" name="answer" size="25" tabindex="4"></td>
  4. </tr>
复制代码


下面加
  1. <!--{if $ejewlog}-->
  2. <tr>
  3. <td bgcolor="{ALTBG1}">验证码:</td>
  4. <td bgcolor="{ALTBG2}"> <input name="number" type="text" maxlength="4" tabindex="3" size="12" height="20"> <img src="ejewimage.php?act=ejew" border="0" align="absmiddle"></td>
  5. </tr>
  6. <!--{/if}-->
复制代码



admincp.lang.php

查找
  1. 'settings_functions' => '论坛功能',
复制代码


下面加
  1. 'settings_ejewreg' => '注册验证码:',
  2. 'settings_ejewreg_comment' => '设置论坛注册时是否开启验证码,防止用户利用机器人自动注册、登入、灌水',
  3. 'settings_ejewlog' => '登入验证码:',
  4. 'settings_ejewlog_comment' => '设置论坛登入时是否开启验证码,防止用户利用机器人自动登入、灌水',
复制代码


admin\settings.php

查找
  1. showtype('settings_functions','top');
复制代码


下面加入
  1.                 showsetting('settings_ejewreg', 'settingsnew[ejewreg]', $settings['ejewreg'], 'radio');
  2.                 showsetting('settings_ejewlog', 'settingsnew[ejewlog]', $settings['ejewlog'], 'radio');
复制代码

查找
  1. 'maxavatarpixel', 'maxpolloptions', 'smcols'
复制代码

后面加入
  1. , 'ejewreg', 'ejewlog'
复制代码


上传附件里的文件于论坛根目录,完成

完成,在后台的“Discuz! 选项”----"功能设置"里可以设置了

[ 本帖最后由 ejew 于 2005-8-8 23:05 编辑 ]
 楼主| ejew 发表于 2005-7-5 18:26:17 | 显示全部楼层
重要说明:
附件中:
1、 srand(microtime() * 100000);
 //PHP420后,srand不是必须的,如果低于420请不要在前面加 //
2、 $HTTP_SESSION_VARS[login_check_number] = $nmsg;
//    如果你的验证码需要数字跟字母组合的启用这句
3、$HTTP_SESSION_VARS[login_check_number] = strval(mt_rand("1111","9999"));
//如果你只要数字的就启用
4、 imageString($aimg,0,mt_rand(1,$img_height),mt_rand(1,$img_width),"*",imageColorAllocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));
这句是生成*号雪花状的,看你自己需要是否启用

[ 本帖最后由 ejew 于 2005-8-8 07:03 编辑 ]
回复

使用道具 举报

FreeDZ 发表于 2005-7-5 18:45:34 | 显示全部楼层
沙发顶一个.
回复

使用道具 举报

loop 发表于 2005-7-6 18:38:11 | 显示全部楼层
好东西
回复

使用道具 举报

zxh 发表于 2005-7-6 19:20:02 | 显示全部楼层
很需要这样的插件
谢谢
回复

使用道具 举报

cnhxs 发表于 2005-7-31 20:18:41 | 显示全部楼层
好东西,应用成功!不过登陆时候的刷新频率太快了~~~找了半天也没有找到控制时间的地方!那位老大知道在那里改刷新时间?谢谢了!!
回复

使用道具 举报

 楼主| ejew 发表于 2005-8-1 02:01:13 | 显示全部楼层
不明白刷新??
回复

使用道具 举报

cnhxs 发表于 2005-8-1 05:46:27 | 显示全部楼层
就是每隔3秒就自动刷新一次,都没办法登陆了!!
有可能是logging.php    login.htm两个文件出错了,可是我找不到
这个是我更改后的文件源码老大帮助看看以下,看看是那个地方出错了!没有上传权限,给个下载地址!

http://home.5i5r.com/yanzheng.rar

[ 本帖最后由 cnhxs 于 2005-8-1 05:59 编辑 ]
回复

使用道具 举报

 楼主| ejew 发表于 2005-8-1 06:14:43 | 显示全部楼层
文件没问题,你的站点注册那里也没问题,登入那里没装吧,
如果每隔3秒就自动刷新一次检查一下htm文件是否有以下代码存在,包括header.htm footer.htm
<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=<? echo $url;?>>
回复

使用道具 举报

 楼主| ejew 发表于 2005-8-1 06:15:37 | 显示全部楼层
php文件里是否有
<?php
echo"<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"5; URL=<? echo $url;?>>";
?>
这样的代码login.php
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-23 18:08 , Processed in 0.029873 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表