[2.0.4]防止大量註冊程式

MODs Released by Other phpbb Sites
非官方認證通過之 MOD ,或許有安全性之疑慮,所有問題由原發表者回覆!

版主: 版主管理群

主題已鎖定

你覺得這個功能怎麼樣?

 
總投票數: 0

salamander
星球普通子民
星球普通子民
文章: 6
註冊時間: 2002-11-13 14:31

[2.0.4]防止大量註冊程式

文章 salamander »

[2.0.4]防止大量註冊程式(Anti Robotic Register Flood)
----------------------------------------------------------------
MOD Name: Anti Robotic Register Flood
Author: Smartor
MOD Description: Prevent robotic register flood

MOD Version: 1.1.4
Installation Level: Easy
Installation Time: ~ 10 Minutes


Download File: anti_robotic_reg_flood_v114.zip
File Size: 14379 Bytes

----------------------
說明:此一mod目的是防止使用script去大量註冊新身分
原始出處:http://www.phpbb.com/phpBB/viewtopic.php?t=82577
範例圖片:
圖檔
----------------------

代碼: 選擇全部

##############################################################
## MOD Title: Anti Robotic Register Flood
## MOD Author: Smartor < smartor_xp@hotmail.com > (Hoang Ngoc Tu) http://smartor.is-root.com
## MOD Description:	This will add a Random-graphical-text Vadiation field in
##			Registration form to protect your phpBB from being flooded
##			of robotic-member-registration (like many free webhost signup form...)
## MOD Version: 1.1.4
##
## Installation Level: easy
## Installation Time: 10 Minutes
## Files To Edit: 4
##	includes/constants.php
##	includes/usercp_register.php
##	language/lang_english/lang_main.php
##	templates/subSilver/profile_add_body.tpl
##
## Included Files: 27
##	antirobot_pic.php
##	images/anti_robotic_reg/anti_robotic_reg_*.gif (26 files)
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/downloads/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/downloads/
##############################################################
## Author Notes:
##
##############################################################
## Version History
##
## v1.1.4
##	- made phpBB 2.0.4 compatible
## v1.1.3
##	- changed Error Message to the form - "Alexander Gingelmaier" <alex@celtisnet.de>
## v1.1.2
##	- fixed some HTML issues
## v1.1.1
##	- fixed a refresh bug
## v1.1.0
##	- improved the performance
## v1.0.0
##	- inititla release
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]--------------------------------------------
#
includes/constants.php

#
#-----[ FIND ]--------------------------------------------
#
?>

#
#-----[ BEFORE, ADD ]-------------------------------------
#
// Anti Robotic Register
define('ANTI_ROBOT_TABLE', $table_prefix.'anti_robotic_reg');


#
#-----[ OPEN ]--------------------------------------------
#
templates/subSilver/profile_add_body.tpl

#
#-----[ FIND ]--------------------------------------------
#
	<tr>
	  <td class="row1"><span class="gen">{L_CONFIRM_PASSWORD}: * </span><br />
		<span class="gensmall">{L_PASSWORD_CONFIRM_IF_CHANGED}</span></td>
	  <td class="row2">
		<input type="password" class="post" style="width: 200px" name="password_confirm" size="25" maxlength="100" value="{PASSWORD_CONFIRM}" />
	  </td>
	</tr>


#
#-----[ AFTER, ADD ]--------------------------------------
#
	<!-- BEGIN switch_validation -->
	<tr>
	  <td class="catSides" colspan="2" height="28"> </td>
	</tr>
	<tr>
	  <th class="thSides" colspan="2" height="12" valign="middle">{L_VALIDATION}</th>
	</tr>
	<tr>
	  <td class="row1" valign="top"><span class="gen">{L_VALIDATION}:<br /></span><span class="gensmall">{L_VALIDATION_EXPLAIN}</span></td>
	  <td class="row2" align="center"><span class="gen"><img src="{S_ANTI_ROBOT1}" alt="" border="0"><img src="{S_ANTI_ROBOT2}" alt="" border="0"><img src="{S_ANTI_ROBOT3}" alt="" border="0"><img src="{S_ANTI_ROBOT4}" alt="" border="0"><img src="{S_ANTI_ROBOT5}" alt="" border="0"><br /><br /><input type="text" name="reg_key" maxlength="5" size="6"></span></td>
	</tr>
	<!-- END switch_validation -->


#
#-----[ OPEN ]--------------------------------------------
#
language/lang_english/lang_main.php

#
#-----[ FIND ]--------------------------------------------
#
//
// That's all, Folks!

#
#-----[ BEFORE, ADD ]-------------------------------------
#
// Anti Robotic Registration
$lang['Wrong_reg_key'] = 'Anti Robotic Register Validation Error';
$lang['Validation'] = 'Validation';
$lang['Validation_explain'] = 'To make sure you are not a robot, please type what letters you see in the image right';


#
#-----[ OPEN ]--------------------------------------------
#
includes/usercp_register.php

#
#-----[ FIND ]--------------------------------------------
#
if ( !defined('IN_PHPBB') )
{
	die("Hacking attempt");
	exit;
}

#
#-----[ AFTER, ADD ]--------------------------------------
#
function gen_reg_key()
{
	$key = "";
	$max_length_reg_key = 5;
	$chars = array(
		"a","b","c","d","e","f","g","h","i","j","k","l","m",
		"n","o","p","q","r","s","t","u","v","w","x","y","z");

	$count = count($chars) - 1;

	srand((double)microtime()*1000000);

	for($i = 0; $i < $max_length_reg_key; $i++)
	{
		$key .= $chars[rand(0, $count)];
	}

	return($key);
}

#
#-----[ FIND ]--------------------------------------------
#
	else if ( $mode == 'register' )
	{
		if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )
		{
			$error = TRUE;
\n			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
		}

#
#-----[ AFTER, ADD ]--------------------------------------
#
		//
		// Anti Robotic Registration
		//
		$sql = "SELECT * FROM " . ANTI_ROBOT_TABLE . " WHERE session_id = '" . $userdata['session_id'] . "' LIMIT 1";
		if( !$result = $db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain registration information', '', __LINE__, __FILE__, $sql);
		}

		$anti_robot_row = $db->sql_fetchrow($result);
 
		if (( strtolower($HTTP_POST_VARS['reg_key']) != $anti_robot_row['reg_key'] ) or ($anti_robot_row['reg_key'] == ''))
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Wrong_reg_key'];
		}
		else
		{
			$sql = "DELETE FROM " . ANTI_ROBOT_TABLE . " WHERE session_id = '" . $userdata['session_id'] . "'";
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, 'Could not delete validation key', '', __LINE__, __FILE__, $sql);
			}
		}
		// --------------------------
		//


#
#-----[ FIND ]--------------------------------------------
#
	$template->assign_vars(array(
		'USERNAME' => $username,
		'CUR_PASSWORD' => $cur_password,
		'NEW_PASSWORD' => $new_password,

#
#-----[ BEFORE, ADD ]-------------------------------------
#
	//
	// Anti Robotic Registration
	//
	if ($mode == 'register')
	{
		$sql = "DELETE FROM " . ANTI_ROBOT_TABLE . " WHERE timestamp < '" . (time() - 3600) . "' OR session_id = '" . $userdata['session_id'] . "'";
		if( !$result = $db->sql_query($sql) )
		{
				message_die(GENERAL_ERROR, 'Could not delete validation key', '', __LINE__, __FILE__, $sql);
		}

		$reg_key = gen_reg_key();

		$sql = "INSERT INTO ". ANTI_ROBOT_TABLE . " VALUES ('" . $userdata['session_id'] . "', '" . $reg_key . "', '" . time() . "')";
		if( !$result = $db->sql_query($sql) )
		{
				message_die(GENERAL_ERROR, 'Could not check registration information', '', __LINE__, __FILE__, $sql);
		}
	}
	//-----------------------
	//


#
#-----[ FIND ]--------------------------------------------
#
		'L_EMAIL_ADDRESS' => $lang['Email_address'],

#
#-----[ AFTER, ADD ]--------------------------------------
#
		// Anti Robotic Registration MOD
		'L_VALIDATION' => $lang['Validation'],
		'L_VALIDATION_EXPLAIN' => $lang['Validation_explain'],
		'S_ANTI_ROBOT1' => append_sid('antirobot_pic.'.$phpEx.'?id=1'),
		'S_ANTI_ROBOT2' => append_sid('antirobot_pic.'.$phpEx.'?id=2'),
		'S_ANTI_ROBOT3' => append_sid('antirobot_pic.'.$phpEx.'?id=3'),
		'S_ANTI_ROBOT4' => append_sid('antirobot_pic.'.$phpEx.'?id=4'),
		'S_ANTI_ROBOT5' => append_sid('antirobot_pic.'.$phpEx.'?id=5'),


#
#-----[ FIND ]--------------------------------------------
#
			if ( $board_config['allow_avatar_local'] && file_exists(@phpbb_realpath('./' . $board_config['avatar_gallery_path'])) )
			{
				$template->assign_block_vars('switch_avatar_block.switch_avatar_local_gallery', array() );
			}
		}
	}

#
#-----[ AFTER, ADD ]--------------------------------------
#
	else
	{
		$template->assign_block_vars('switch_validation', array() );
	}

#
#-----[ SQL ]---------------------------------------------
#
CREATE TABLE phpbb_anti_robotic_reg (
	session_id char(32) DEFAULT '' NOT NULL,
	reg_key char(5) NOT NULL,
	timestamp int(11) unsigned NOT NULL,
	PRIMARY KEY (session_id));

#
#-----[ COPY ]--------------------------------------------
#
copy antirobot_pic.php to antirobot_pic.php

#
#-----[ COPY ]--------------------------------------------
#
copy images/anti_robotic_reg/anti_robotic_reg_*.gif to images/anti_robotic_reg/

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
salamander
星球普通子民
星球普通子民
文章: 6
註冊時間: 2002-11-13 14:31

文章 salamander »

中文的版本需修改如下檔案

代碼: 選擇全部

#-----[ OPEN ]-------------------------------------------- 
# 
language/lang_chinese_traditional_taiwan/lang_main.php 

# 
#-----[ FIND ]-------------------------------------------- 
# 
// 
// That's all, Folks! 

# 
#-----[ BEFORE, ADD ]------------------------------------- 
# 
// Anti Robotic Registration 
$lang['Wrong_reg_key'] = '您輸入的認證碼錯誤,請回上一頁重新輸入...'; 
$lang['Validation'] = '註冊身分檢查'; 
$lang['Validation_explain'] = '請輸入您在此相片中所看到的文字並填入空格中...';
Stupid
星球普通子民
星球普通子民
文章: 1
註冊時間: 2003-05-04 10:16
來自: 數碼世界       世代: 超究極體       必殺技: 暴龍劍  
聯繫:

文章 Stupid »

How to make this ar?

#-----[ SQL ]---------------------------------------------
#
CREATE TABLE phpbb_anti_robotic_reg (
session_id char(32) DEFAULT '' NOT NULL,
reg_key char(5) NOT NULL,
timestamp int(11) unsigned NOT NULL,
PRIMARY KEY (session_id));

#
喜愛事物No-01:我部電腦....
喜愛事物No-02:FFX-2的靚女柔娜
喜愛事物No-03:我本Digimon咭簿
喜愛事物No-04:柔娜的巨型海報\r
喜愛事物No-05:Digimon的麗兒
vincent4a15
星球普通子民
星球普通子民
文章: 7
註冊時間: 2003-08-16 19:12

[問題]到底要貼在哪裡?

文章 vincent4a15 »

抱歉,各位,我是一個新手,所以,請問,這個東西要貼在哪裡呀?
gqs
星球普通子民
星球普通子民
文章: 1
註冊時間: 2003-09-01 14:02

文章 gqs »

在PHPMYADMIN中用來裝PHPBB DB中的SQL選項,貼上於方格內後執行
我用的PHPMYADMIN是2.5.3rc1,可能版本不同而有所不同。
doraemon2005
星球普通子民
星球普通子民
文章: 2
註冊時間: 2003-12-12 14:30

文章 doraemon2005 »

Download File: anti_robotic_reg_flood_v114.zip
File Size: 14379 Bytes

檔案下載不下來 ~~ 有沒有人可以下載的 ~~
垃圾
星球普通子民
星球普通子民
文章: 19
註冊時間: 2004-01-06 10:06
來自: 香港(大埔)
聯繫:

文章 垃圾 »

hqi pd mbmbl mwv yymr owjr rmvh ~!
oam jrlr vfbtv su vfmvm mf qamo otc my jijwj nn

............55555555
接近一萬多元港幣的新電腦,就是愛來放 phpbb 用的;配置如下:<br>
●架設主機作業系統:繁體windows xp(sp1)
●處理器:Intel P4 - 2.4c GHz
●記憶體:輝煌 512MB(DDR400) x2
●硬碟机:Seagate 120G - SATA 格式
●免費空間連結(自架的):http://dns4go.vicp.net:199/MyWebSite/bbs/index.php
●上網方式:網上行(香港) 3M ADSL + 和記 10Mbps GE
●安裝的程式:mysql4 + apache 2.0.48
●phpBB2 版本:英文官網 2.0.6c + 官網中文包
垃圾
星球普通子民
星球普通子民
文章: 19
註冊時間: 2004-01-06 10:06
來自: 香港(大埔)
聯繫:

文章 垃圾 »

那還有這個 mod 文件下載呀~?!
接近一萬多元港幣的新電腦,就是愛來放 phpbb 用的;配置如下:<br>
●架設主機作業系統:繁體windows xp(sp1)
●處理器:Intel P4 - 2.4c GHz
●記憶體:輝煌 512MB(DDR400) x2
●硬碟机:Seagate 120G - SATA 格式
●免費空間連結(自架的):http://dns4go.vicp.net:199/MyWebSite/bbs/index.php
●上網方式:網上行(香港) 3M ADSL + 和記 10Mbps GE
●安裝的程式:mysql4 + apache 2.0.48
●phpBB2 版本:英文官網 2.0.6c + 官網中文包
atthis
星球公民
星球公民
文章: 216
註冊時間: 2003-07-29 19:16

文章 atthis »

去原作者的網站下
http://smartor.is-root.com/viewtopic.php?t=2130

還有 垃圾 你的站沒有竹貓的中文版權宣告
我知道那應該不是你的錯 (除非你是故意的)
請看這一篇的解釋並修正\r
http://phpbb-tw.net/phpbb/viewtopic.php?p=115272#115272
發展中 Mod
禁止發言 (水桶名單)
有興趣的人一起來討論喔~~
帝皇龍
星球普通子民
星球普通子民
文章: 6
註冊時間: 2004-02-03 23:59

文章 帝皇龍 »

請問這個支援2.06的嗎=.=?
ttsmarco
星球公民
星球公民
文章: 58
註冊時間: 2003-09-11 10:51

文章 ttsmarco »

2.0.6確定可以使用....
我有裝了...
圖檔
主題已鎖定

回到「非官方認證外掛」