Seite 2 von 2

Verfasst: 21.12.2004 12:43
von mueller
Ich habe ja bereits auf 2.0.11 upgedatet.

Ich vermut eher, das ich den smartor-hack installieren muss (Anti Robotic Register Flood). Denn dort werden chars, sprich Buchstaben generiert. Im 2.0.11 finde ich nirgend wo dieses Code-Stück.

Code: Alles auswählen

############################################################## 
## 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">&nbsp;</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; 
         $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
rgsd,

mueller

Verfasst: 21.12.2004 13:17
von JayDee
so, bei mir klappt es...

werde mich jetzt ans nächste Board machen .....

hatte beim einfügen etwas vergessen :oops:

Verfasst: 21.12.2004 13:51
von mueller
@JayDee:

Welchen Pfad haben jetzt die Anti Robotic Register-Bilder bei Dir?
Was hast Du vergessen beim einfügen?

rgds,

mueller

Verfasst: 21.12.2004 14:19
von JayDee
die bilder liegen incl. Verzeichnis im image Verzeichnis in der root....

Was ich vergesen habe ???
Bitte nicht...
Die EinfügeVariable für das Template ;))
war doch dann auch klar das überhaupt nix kam ;))