前两天我在论坛里写了一篇有关如何在uchome批量删除垃圾日志,和如何在uchome批量删除垃圾用户的帖子。我提到删除垃圾注册不是也制止垃圾用户的最终办法。今天我就要和大家分享一招可以理论制止垃圾注册的方法 – 使用recaptcha!
uchome的图片验证码防灌水功能很弱,根本挡不住那些注册机。这个我相信很多使用uchome的站长都深有同感吧?这就是为什么我要用到recaptcha。2009年recapcha被google收购(2009年9月16日google收购了recaptcha)。recaptcha用到的图片是来自一些破损难辨的典籍,使用者在识别它的过程中也给这些典籍的数字化做贡献。本文要介绍的是如何在uchome注册页里加入recaptcha。
注册recaptcha
你需要先注册一个帐号,因为google收购了recaptcha,所以你可以使用google的邮箱登入。之后你要输入你的域名,就可以得到一个public key和private key, 这两个密钥将要用在下面的代码里。
下载recaptcha php库
点这里下载。下载后把recaptchalib.php文件上传到uchome根目录下的source文件夹里。
修改do_register.php
这个文件在uchome根目录下的source文件夹里,打开这个文件,加入下面的代码。注意:修改部分用“####by sijitao.net”标识
?php/* [ucenter home] (c) 2007-2008 comsenz inc. $id: do_register.php 13111 2009-08-12 02:39:58z liguode $*/####by sijitao.net - 这里加入三行require_once(\'recaptchalib.php\');$publickey = \xxx\; //替换为第一步里获取的public key$privatekey = \yyy\; //替换为第一步里获取的private key............if(!$_post[\'password\'] || $_post[\'password\'] != addslashes($_post[\'password\'])) { showmessage(\'profile_passwd_illegal\');}####by sijitao.net - 在这里加入下面几行$resp = recaptcha_check_answer ($privatekey, $_server[\remote_addr\], $_post[\recaptcha_challenge_field\], $_post[\recaptcha_response_field\]);if (!$resp-is_valid) { showmessage(\'incorrect_code\');}修改do_register.html
此文件位于uchome根目录下template/default/文件夹里。打开这个文件做如下更改。注意:修改部分用“####by sijitao.net”标识
script type=\text/javascript\// ![cdata[ function register(id, result) { if(result) { $(\'registersubmit\').disabled = true; window.location.href = \$jumpurl\; } else {#### by sijitao.net, 加入下面这句,目的是在提交出现错误时,重刷验证代码 recaptcha.reload(); updateseccode(); } }// ]]/script............!--{else}-- tr th style=\vertical-align: top;\验证码/th td scriptseccode();/scriptp请输入上面的4位字母或数字,看不清可a href=\javascript:updateseccode()\更换一张/a/pinput type=\text\ id=\seccode\ name=\seccode\ value=\\ onblur=\checkseccode()\ tabindex=\1\ autocomplete=\off\ / span id=\checkseccode\ /span /td /tr !--{/if}-- !--{/if}--####by sijitao.net - 这里加入以下代码 tr th style=style=\vertical-align: top;\超强验证码/td td !--{eval echo recaptcha_get_html($publickey);}-- /td /tr取消uchome自带验证
登入高级管理 – 防灌水设置 – 取消注册页面开启验证码功能,最后更新一下系统的缓存。
貌似有点麻烦,但是请相信我,这绝对是一劳永逸!
苏州低价售阿里云服务器如何知道VPS是否解锁奈飞视频?通过两款检测小工具sjlleo和CoiaPrant一键检测Linux系统IP是否支持NetFlix租用云服务器如何选择云主机服务器是什么域名状态REDEMPTION-PERIOD什么意思?有什么含义?作为计算机专业的,最该学的三门课程远程桌面连不上网站打不开网站不通麻烦处理一下-云服务器问题