当前位置:  开发笔记 > 编程语言 > 正文

防止PHPWIND论坛被注册机恶意注册发广告的方法

最近我的论坛老有注册机恶意注册,并且发布广告信息,搞的很烦,所在想了些办法来防止恶意注册。下面是一些方法:方法1:更改注册表单NAME(最有效,但是要有一些PHP和MYSQL方面的知识才行。)改动注册表单填入内容的NAME,这需要和数据表相配合,MYSQL表">

最近我的论坛老有注册机恶意注册,并且发布广告信息,搞的很烦,所在想了些办法来防止恶意注册。下面是一些方法:

方法1:更改注册表单NAME(最有效,但是要有一些PHP和MYSQL方面的知识才行。)

改动注册表单填入内容的NAME,这需要和数据表相配合,MYSQL表单关键字也得改。

方法2:输入网站注册问题的答案

改两个文件,一个是register.htm,另一个是register.php

第一步,打开论坛template/wind/下的register.htm,当然,这是默认的风格模板,如果你模板改了,那就到你改动后的模板的名字下找这个文件。
先找个地方,建议放在这个上面:

编辑—查找
用户名

在这句上面加以下几句:是出个问题,当然,问题的具体内容可以自己修改



防恶意注册问题:
你老妈去年49岁,今年几岁?

请把那数字填在左边空格内


保存,上传到空间替换原文件

第二步:打开论坛主目录下的register.php
编辑-查找

$db->update("INSERT INTO pw_members (username, password,email,publicmail,groupid,memberid,icon,gender,regdate,signature,introduce,oicq,icq,site,location,bday,receivemail,yz,signchange) VALUES

在这句话的上面添加几句:是检测看回答问题的答案是否正确,具体答案自己根据自己的问题指定

if($manianling != 50) {
Showmsg("老妈几岁都不关心的人,去死吧!!","Javascript:history.back()");
}

保存,上传上传到空间替换原文件.

方法3:更改register.php的名字


就是改动注册页面的文件名,比如说把register.php改成r.php什么的。但有一点得注意,所有链接的register.php的页面都必须改成r.php,否则会变成白板的哟。

这是没有办法的办法,修改多,影响升级和论坛的当前运行,但是绝对有效
先把register.php改成你自己想要的名字
修改开始:

查register.php换成你改的名字如:welcome.php

login.php
global.php 2处

然后到template/wind(所有的模板只要有下面的文件,都要修改)8处修改!

faq.htm
login.htm
lang_email.php
lang_other.php
register.htm 3处simple_index.htm
simple_read.htm
simple_thread.htm

中查找
register.php
更换为你修改后的register.php名字。比如welcome.php

此方法不需要设置什么附加信息!
方法4:输入今日日期

1、修改register.php(register.php就在主目录下)

找到:
$db->update("INSERT INTO pw_members (username, password, email,publicmail,groupid,memberid,icon,gender,regdate,signature,introduce,oicq,icq,site,location,bday,receivemail,yz,signchange) VALUES

上面加上(中文自己修改):
if($nowday != $nowday1) {
Showmsg("日期没输正确.你不会忘了今天是几号了吧?","Javascript:history.back()");
}
找到:

@include_once(D_P.'data/bbscache/inv_config.php');

下面加上:
$nowday1 = gmdate("d", $timestamp + $timeoffset * 3600);
$nowday2 = gmdate("m月d日", $timestamp + $timeoffset * 3600);

2、修改register.htm(register.htm就在目录/template/wind/register.htm或其它风格目录)
找到:
必填信息

下面添加(中文自己修改):

防恶意注册问题:今天的日期是几号?
如果今天日

期是12月04日就填04

提示:请填入

color="#FF0000">$nowday1 快把它输入到左边文本框吧(忽略凌晨时差问题)

友情提醒:请删除以前机器人注册的id,有好多机器人都是以前注册了不发帖,然后到规定日期狂发的,如果发现类似的ID,如利剑*等,请删除吧,留着就是隐患。

方法5:后台添加防自动注册机验证码

1. 打开template/admin/settings.htm
查找


注册时初始{$db_moneyname}:(建议设置为0.)

在后面添加


防自动注册机验证码:例如“phpwinnd”(设置为空,则代表关闭)(特别说明:修改完成后一定要到后台设置好您自己想要的验证码,留空则不启用这个功能)

2. 打开admin/settings.php
查找

if ($reg['regmaxname']>15){
adminmsg('illegal_username');
}

在后面添加

$reg['autoreg']=str_replace(" ","",trim($reg['autoreg']));

3. 打开template/wind/register.htm
查找

确认密码*

在后面添加


防自动注册机验证码*

color=red>$rg_autoreg


4. 打开register.php文件
查找

if(!$rg_rglower){
for ($asc=65;$asc<=90;$asc++){
if (strpos($regname,chr($asc))!==false){
Showmsg('username_limit');
}
}
}

在后面添加

if($rg_autoreg!="" && $autoreg!=$rg_autoreg){
showmsg('对不起,防自动注册机验证未通过!');
}

完成

希望对大家有些帮助。

 


推荐阅读
author-avatar
夏至_krisyeol_582
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有