程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 防止PHPWIND論壇被注冊機惡意注冊發廣告的方法

防止PHPWIND論壇被注冊機惡意注冊發廣告的方法

編輯:關於PHP編程

最近我的論壇老有注冊機惡意注冊,並且發布廣告信息,搞的很煩,所在想了些辦法來防止惡意注冊。下面是一些方法:

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

改動注冊表單填入內容的NAME,這需要和數據表相配合,MYSQL表單關鍵字也得改。

方法2:輸入網站注冊問題的答案

改兩個文件,一個是register.htm,另一個是register.php

第一步,打開論壇template/wind/下的register.htm,當然,這是默認的風格模板,如果你模板改了,那就到你改動後的模板的名字下找這個文件。
先找個地方,建議放在這個上面:

編輯—查找
<tr class="f_one"><td width="35%"> 用戶名<font color="red">

在這句上面加以下幾句:是出個問題,當然,問題的具體內容可以自己修改


<tr>
<td class="f_one" width="21%">防惡意注冊問題:<br><font color="#000000">你老媽去年49歲,今年幾歲?</font>
</td>
<td class="f_one"><input type="text" name="manianling" size="4" maxlength="4">請把那數字填在左邊空格內</td>
</tr>


保存,上傳到空間替換原文件

第二步:打開論壇主目錄下的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或其它風格目錄)
找到:
<tr><td colspan="2" class="head" height="25">必填信息</td></tr>

下面添加(中文自己修改):
<tr>
<td class="f_one" width="21%">防惡意注冊問題:今天的日期是幾號?<br><font color="blue"> 如果今天日

期是12月04日就填04 </font>
</td>
<td class="f_one"><input type="text" name="nowday" size="4" maxlength="4"> 提示:請填入<font

color="#FF0000">$nowday1</font> 快把它輸入到左邊文本框吧(忽略凌晨時差問題)</td>
</tr>

友情提醒:請刪除以前機器人注冊的id,有好多機器人都是以前注冊了不發帖,然後到規定日期狂發的,如果發現類似的ID,如利劍*等,請刪除吧,留著就是隱患。

方法5:後台添加防自動注冊機驗證碼

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

<tr class=b>
<td>注冊時初始{$db_moneyname}:(建議設置為0.)</td>
<td><input size=35 name="reg[regmoney]" value="$rg_regmoney"></td>
</tr>

在後面添加

<tr class=b>
<td><font color=red>防自動注冊機驗證碼:</font>例如“phpwinnd”(設置為空,則代表關閉)</td>(特別說明:修改完成後一定要到後台設置好您自己想要的驗證碼,留空則不啟用這個功能)
<td><input size=35 name="reg[autoreg]" value="$rg_autoreg"></td>
</tr>

2. 打開admin/settings.php
查找

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

在後面添加

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

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

<tr> <td class=f_one> 確認密碼<font color=red>*</font></td>
<td class=f_one>
<input type=password size=20 maxlength=75 name=regpwdrepeat></td></tr>

在後面添加

<!--
EOT;
if($rg_autoreg!=""){
print <<<EOT
-->
<tr> <td class=f_one> 防自動注冊機驗證碼<font color=red>*</font> <font

color=red><b>$rg_autoreg</b></font></td>
<td class=f_one>
<input type=text size=20 maxlength=75 name=autoreg></td></tr>
<!--
EOT;
}
print <<<EOT
-->

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(對不起,防自動注冊機驗證未通過!);
}

完成

希望對大家有些幫助。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved