由于论坛机器人注册频繁,一度关闭了注册功能,苦于寻找论坛邀请码注册的插件,都不好使,之后就自己简单写了个,在注册的时候增加了一项邀请码验证的功能,且邀请码为管理员自己在后台数据库设置。
目前使用大半年了,功能正常,测试地址见论坛中的注册页面 http://www.orasql.com/bbs。
过程如下:
创建一张表
CREATE TABLE IF NOT EXISTS phpbb_code (
code varchar(10) COLLATE utf8_bin NOT NULL,
flag char(1) COLLATE utf8_bin NOT NULL DEFAULT 'N',
PRIMARY KEY (code)
)
手动插入一个激活码
insert into phpbb_code (code) values ('1234567890');
修改/include/ucp/ucp_register.php
找到如下代码
[code] // DNSBL check
if ($config['check_dnsbl'])
{
if (($dnsbl = $user->check_dnsbl('register')) !== false)
{
$error[] = sprintf($user->lang['IP_BLACKLISTED'], $user->ip, $dnsbl[1]);
}
}[/code]
在下面添加如下代码:
[code]$invite_code= $_POST['invite_code'];
if($invite_code==NULL) {
$error[] ='Please Enter the Invite Code';
}
else{
$codesql= 'SELECT 1 FROM PHPBB_CODE WHERE code = NULL or CODE = '.''. $db->sql_escape($invite_code);
$codere= $db->sql_query($codesql);
$coderow=$db->sql_fetchrow($codere);
$db->sql_freeresult($codere);
if (!$coderow){
$error[] ='the invite code is worong'.$invite_code;
}
}[/code]
修改模板ucp_register.html
找到如下代码(模板不同可能有细微差别)
[code]<!-- IF S_COPPA -->
<tr>
<th colspan="2" valign="middle">{L_COPPA_COMPLIANCE}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gensmall">{L_COPPA_EXPLAIN}</span></td>
</tr>
<!-- ENDIF -->[/code]
下添加如下代码
[code]<tr><td class="row3" >Please Enter the Invite Code</td><td class="row3" ><input type="text" name="invite_code" size="20" maxlength="20" class="inputbox narrow"/></td></tr> [/code]
另外wap版也类似,可以在这基础上完善修改。
目前使用大半年了,功能正常,测试地址见论坛中的注册页面 http://www.orasql.com/bbs。
过程如下:
创建一张表
CREATE TABLE IF NOT EXISTS phpbb_code (
code varchar(10) COLLATE utf8_bin NOT NULL,
flag char(1) COLLATE utf8_bin NOT NULL DEFAULT 'N',
PRIMARY KEY (code)
)
手动插入一个激活码
insert into phpbb_code (code) values ('1234567890');
修改/include/ucp/ucp_register.php
找到如下代码
[code] // DNSBL check
if ($config['check_dnsbl'])
{
if (($dnsbl = $user->check_dnsbl('register')) !== false)
{
$error[] = sprintf($user->lang['IP_BLACKLISTED'], $user->ip, $dnsbl[1]);
}
}[/code]
在下面添加如下代码:
[code]$invite_code= $_POST['invite_code'];
if($invite_code==NULL) {
$error[] ='Please Enter the Invite Code';
}
else{
$codesql= 'SELECT 1 FROM PHPBB_CODE WHERE code = NULL or CODE = '.''. $db->sql_escape($invite_code);
$codere= $db->sql_query($codesql);
$coderow=$db->sql_fetchrow($codere);
$db->sql_freeresult($codere);
if (!$coderow){
$error[] ='the invite code is worong'.$invite_code;
}
}[/code]
修改模板ucp_register.html
找到如下代码(模板不同可能有细微差别)
[code]<!-- IF S_COPPA -->
<tr>
<th colspan="2" valign="middle">{L_COPPA_COMPLIANCE}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gensmall">{L_COPPA_EXPLAIN}</span></td>
</tr>
<!-- ENDIF -->[/code]
下添加如下代码
[code]<tr><td class="row3" >Please Enter the Invite Code</td><td class="row3" ><input type="text" name="invite_code" size="20" maxlength="20" class="inputbox narrow"/></td></tr> [/code]
另外wap版也类似,可以在这基础上完善修改。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




