本帖最后由 54alin 于 2009-9-23 00:57 编辑
觉得好用的,麻烦帮顶一下!顶贴是给我最大的支持!
重要声明:原 Email获取注册码 ,从今天起正式改名为 RegCode
本插件下载地址为本帖和http://hialin.com,之前发布的版本(需数据库支持)下载地址在 https://discuz.dismall.com/thread-1242212-1-1.html
今天重新写了下代码,改为免注册表的,文件也精简了好多。自己在想,为什么开始就把这个小插件写得那么复杂呢!
说说插件的功能:
本插件有效的防止恶意注册及注册机注册。
在后台开启后(建议停用UCH的验证码),有人注册时,需要输入注册码。注册码的获取方式,那肯定是用email来获取啦!哈哈....
只要填入要注册的email,点发送就OK了!然后登陆email查收注册码!
对比上一版本更能上的区别:
1、EMAIL判断更改为UCH的EMAIL
2、注册码邮件添加直接点击进入的注册页面免输注册码及免输邮件
3、去掉插件的原来的用的数据表(改为免数据库的)
4、发送成功后,页面提供到链接到邮件网站
5、重写代码,代码更简洁,更好的支持UCHOME 2.0
插件结构:
文件夹 PATH 列表
│ regcode.php Email注册码主程序
└─template 模板目录
└─default 默认模板目录
regcode_index.htm Email注册码模板文件
安装说明:(可能有的复杂,其实也不复杂!haha….)
一、解压后上传Upload文件夹中的所有文件。
二、按下面说明修改3个文件:(一步一步对照着修改,不麻烦)
1、打开admin/tpl/config.htm,找到- <tr>
- <th>关闭邀请注册功能</th>
- <td>
- <input type="radio" name="config[closeinvite]" value="1"<!--{if $configs[closeinvite] == '1'}--> checked<!--{/if}-->>是
- <input type="radio" name="config[closeinvite]" value="0"<!--{if $configs[closeinvite] != '1'}--> checked<!--{/if}-->>否
- </td>
- </tr>
复制代码 在下面添加以下代码:- <tr>
- <th style="color:red">开启邮箱获取注册码功能</th>
- <td>
- <input type="radio" name="config[emailcode]" value="1"<!--{if $configs[emailcode] == '1'}--> checked<!--{/if}-->>是
- <input type="radio" name="config[emailcode]" value="0"<!--{if $configs[emailcode] != '1'}--> checked<!--{/if}-->>否
- </td>
- </tr>
复制代码 2、打开template/default/do_register.htm,找到:- <!--{else}-->
- <tr>
- <th style="vertical-align: top;">验证码</th>
- <td>
- <script>seccode();</script>
- <p>请输入上面的4位字母或数字,看不清可<a href="javascript:updateseccode()">更换一张</a></p>
- <input type="text" id="seccode" name="seccode" value="" class="t_input" onBlur="checkSeccode()" tabindex="1" autocomplete="off" /> <span id="checkseccode"> </span>
- </td>
- </tr>
- <!--{/if}-->
- <!--{/if}-->
复制代码 在下面添加以下代码:- <!--{if $_SCONFIG['emailcode']}-->
- <tr><th>注册码</th><td><input type="text" id="regcode" name="regcode" value="$_GET['regcode']" class="t_input" tabindex="1" /> <a href="regcode.php">点这里获取注册码</a></td></tr>
- <!--{/if}-->
复制代码 再查找:- <tr><th>邮箱</th><td><input type="text" id="email" name="email" value="@" class="t_input" tabindex="5" />
复制代码 把这句的改为:- <tr><th>邮箱</th><td><input type="text" id="email" name="email" value="$_GET['email']" class="t_input" tabindex="5" />
复制代码 3、打开source/do_register.php,找到:- //已经注册用户
- if($_SGLOBAL['supe_uid']) {
- showmessage('registered', 'space.php');
- }
复制代码 在下面添加以下代码:- //注册码验证
- if($_SCONFIG['emailcode']){
- $date=date('Y-m-j');
- $regcode=substr(md5($_POST['email'].$_SCONFIG['sitekey'].$date), 0, 8);
- if($_POST['regcode'] != $regcode) {
- showmessage('您填写的注册码不存在或已过期,请重新输入!');
- }
- }
复制代码 再找到:- //更新默认用户好友缓存
- include_once(S_ROOT.'./source/function_cp.php');
- foreach ($fuids as $fuid) {
- friend_cache($fuid);
- }
- }
- }
复制代码 在下面添加以下代码:- //如果注册email与获取注册码的email相同,则直接通过email验证
- updatetable('spacefield', array('emailcheck'=>1), array('uid'=>$newuid));
复制代码 三、登陆后台,更新缓存。
四、在站点设置->注册显示,里面开启“开启邮箱获取注册码功能”。
建议开启这个功能时,关闭验证码和验证问题功能,要不然给人感觉注册太麻烦了。其实这个功能已经很使用了!
免费下载地址:http://www.hialin.com/
请兄弟们见谅,小弟刚开的blog,凑下人气。 |