ezDIY.org

PunBB / FluxBB Discussion Forum

您尚未登入。

公告

1.PunBB官方於2010-08-11 釋出 PunBB v1.2.23 ,請有使用的朋友記得要抽空升級版本喔!!
2.PunBB官方於2011-09-18 釋出 PunBB v1.3.6 ,請有使用的朋友記得要抽空升級版本喔!!
3.FluxBB官方於2009-08-31 釋出 FluxBB v1.2.22 ,請有使用的朋友記得要抽空升級版本喔!!

#1 2009-04-11 20:43:51

coolhd
論壇管理員
來自: 台灣台中
註冊日期: 2005-06-19
文章數: 600
網站

以問答方式防止廣告機器人侵入

這支驗證程式,參考了站友bibico在這篇"很好用的防機器註冊外掛"裡所提供的資訊,由興哥重新依其概念重新編寫而成.

其功用主要是在註冊時新增一欄問答驗證,來做為檢查該註冊者是真人還是廣告機器人(SpamBot).當然這個功能同樣可以使用在發文的頁面,如果有開放訪客發文的功能時,可以多一道驗證的程序.

檔案下載:
human_check_v1.0.zip
human_check_v1.1.zip

使用方法與修改流程如下列,如有修改檔案的部分請自行備份.

1.將"human_check.zip"壓縮檔解開,將裡頭的"human_check.php"檔上傳到"include/user/"路徑下.當然在上傳之前,你可以用編輯器打開"human_check.php"做編輯,自行編輯裡頭的問題與答案.存檔的時候請記得存成UTF-8(無BOM)格式.

2.編輯"register.php"此檔.搜尋:

// Load the register.php language file

在此行上方新增:

// 引入驗證
require PUN_ROOT.'include/user/human_check.php';

3.繼續搜尋,約在83行附近找到:

else if (isset($_POST['form_sent']))
{

(留意上方尾端的大括號"{" )在其下方新增:

//執行驗證
human_check();

4.再搜尋,約在313行附近找到:

<div class="inform">
<fieldset>
<legend><?php echo $lang_prof_reg['Localisation legend'] ?></legend>
<div class="infldset">

在這段程式碼上方(<div class="inform">上方)新增:

<?php /*加入驗證欄位*/ human_check_field() ?>

然後將"register.php"存檔完成.

參考圖例:
http://img.photobucket.com/albums/v197/coolhd/punbb/anti-spambot1.png

在修改完"register.php"此檔之後,在註冊時檢驗SpamBot的部分就完成了.接下來,如果說你並沒有開放訪客發文的權限,那麼可以不用再修改"post.php"檔.如果你想要開放訪客發文,請繼續接下來的"post.php檔修改.

1.編輯"post.php"檔,搜尋:

require PUN_ROOT.'include/common.php';

在其下方新增:

// 引入驗證
require PUN_ROOT.'include/user/human_check.php';

2.繼續搜尋,約在107行找到:

$email = strtolower(trim(($pun_config['p_force_guest_email'] == '1') ? $_POST['req_email'] : $_POST['email']));

在該行程式碼下方新增:

//執行驗證
human_check();

3.再搜尋,約在525行附近找到:

<div class="inform">
<fieldset>
<legend><?php echo $lang_common['Options'] ?></legend>

在這段程式碼上方(<div class="inform">之前)新增:

<?php /*加入驗證欄位*/ human_check_field() ?>

將"post.php"存檔完成.

這樣修改完的"post.php"檔,會在訪客發文時增加一欄問題驗證.

參考圖例:
http://img.photobucket.com/albums/v197/coolhd/punbb/anti-spambot2.png

要防止廣告機器人侵入,請記得善用在"管理控制台->基本設定->會員註冊->驗證註冊"這項藉由發密碼郵件來驗證註冊會員的功能.

這裡所加上的驗證欄位,則是額外多一道防護措施.在PunBB Resource也可以找到幾套用GD圖型驗證(Captcha)的外掛程式,而這裡提供的問答方式應該算是比較輕便,不像使用GD函式製圖會耗用CPU資源.

有興建的話大家試用看看,其適用性有待各位讀者們來驗證,是否有成效或是有問題亦或是有建議,請再回文反應討論.

----------更新記錄----------
v1.1 修改答案可以設定多個.(一個問題搭配一個以上的答案)

v1.0 正式版釋出.(一個問題搭配一個答案)

最後修改: coolhd (2009-04-14 08:07:06)


離線

 
Adsense


#2 2009-04-12 10:58:23

bibico
一般會員
註冊日期: 2009-03-18
文章數: 21

Re: 以問答方式防止廣告機器人侵入

謝謝板大無私提供...smile
使用上非常良好,
有個小小建議,如果能像小弟很好用的防機器註冊外掛一文裡提到的原程式,可有多種答案模式,不知可不可行?

例如:

$hum_qna[0][0] = '七加四等於多少?';
$hum_qna[0][1] = '11';
$hum_qna[0][2] = '十一';

$hum_qna[1][0] = '八月八日是哪個節日?';
$hum_qna[1][1] = '爸爸節';
$hum_qna[1][2] = '父親節';
$hum_qna[1][3] = '88節';

離線

 

#3 2009-04-14 08:13:32

coolhd
論壇管理員
來自: 台灣台中
註冊日期: 2005-06-19
文章數: 600
網站

Re: 以問答方式防止廣告機器人侵入

以問答方式防止廣告機器人侵入程式檔(human_check.php)更新為v1.1,修改成一個問題可以搭配一個以上的答案.想要一問一答者請下載v1.0,想要配合多答案者請下載v1.1.

離線

 

#4 2009-04-15 07:56:16

bibico
一般會員
註冊日期: 2009-03-18
文章數: 21

Re: 以問答方式防止廣告機器人侵入

感謝版大釋出修改,但小弟發現1.0與1.1的檔案似乎相同,沒有變動..
不知是不是版大的檔案連結有誤呢?smile

離線

 

#5 2009-04-15 18:08:10

coolhd
論壇管理員
來自: 台灣台中
註冊日期: 2005-06-19
文章數: 600
網站

Re: 以問答方式防止廣告機器人侵入

bibico 引用:

...小弟發現1.0與1.1的檔案似乎相同,沒有變動..
不知是不是版大的檔案連結有誤呢?smile

把連結裡的1.0改成1.1就可以了,一時筆誤,已修正. tongue

離線

 

#6 2009-04-16 05:47:57

bibico
一般會員
註冊日期: 2009-03-18
文章數: 21

Re: 以問答方式防止廣告機器人侵入

目前小弟使用上很正常,其他部份只能靠時間的考驗了..smile
在此先感謝版大對PunBB的付出,造福了其他使用者....smile

最後修改: bibico (2009-04-16 05:48:56)

離線

 

#7 2009-04-29 08:15:02

aven
一般會員
來自: 數位天堂
註冊日期: 2007-06-11
文章數: 41
網站

Re: 以問答方式防止廣告機器人侵入

這個外掛太棒了,小弟接收了,感謝兩位熱心的分享 smile


http://neture.homeip.net/images/DigiLand88x31.gif
Nokia:科技始終來自於人性。
拜耳:如果文明不能使我們更相愛,那科技便失去意義!
歡迎您的加入,讓我們一起討論科技與環保的結合應用...

離線

 

#8 2009-11-15 02:23:50

ethan42411
一般會員
來自: 台灣高雄
註冊日期: 2008-11-06
文章數: 90
網站

Re: 以問答方式防止廣告機器人侵入

請問這個可以安裝在1.34上嗎?

離線

 

#9 2012-09-07 08:20:33

jlj588
新進會員
註冊日期: 2012-09-07
文章數: 4

Re: 以問答方式防止廣告機器人侵入

学习

最後修改: jlj588 (2012-09-07 22:03:39)

離線

 

#10 2012-09-07 19:43:24

ethan42411
一般會員
來自: 台灣高雄
註冊日期: 2008-11-06
文章數: 90
網站

Re: 以問答方式防止廣告機器人侵入

離線

 

#11 2012-09-07 20:33:08

jlj588
新進會員
註冊日期: 2012-09-07
文章數: 4

Re: 以問答方式防止廣告機器人侵入

上面这个程序没法修改了吗?   还是我在第2步的时候插入human_check();放错了位置?   1.4.2版没有楼主说的代码。。

離線

 

#12 2012-09-07 22:03:57

jlj588
新進會員
註冊日期: 2012-09-07
文章數: 4

Re: 以問答方式防止廣告機器人侵入

OK,  终于找到办法了。。。

離線

 

論壇頁尾

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

ezDIY.org TOP Topics