Om achter wat IPadressen te komen van een aantal vervelende gebruikers van ons forum - die met een proxy server werken - wilde ik een Mod toepassen die ik vond op:
http://www.phpbbhacks.com/download/2975
In deze Mod zitten/zaten een aantal typefouten waardoor ik in eerste instantie nogal wat problemen had om deze Mod uberhaupt draaiende te krijgen.
Om de typefouten te tonen zal ik de install.txt hieronder weergeven en wat ik tot nu toe heb gewijzigt maar wanneer ik mij uitlogd en daarna mijzelf wil registreren dan krijg ik een parsererror waar ik niet helemaal uitkom en de regel aangeven in onderstaande waar de error verschijnt.
Code: Selecteer alles
#################################################################
## Mod Title: Log IP's on Registration
## Mod Version: 1.1.2
## Author: Woody <scoobler@gmail.com>
## Description: This will log a users IP when they register.
## From the admin panel, you can search for a user
## you will be displayed with the username you
## searched for, the IP they registered at, their
## email address and any other username's that
## registered from that IP address.
##
## Installation Level: Easy
##
## Installation Time: 2-3 Minutes
##
## Files To Edit: includes/usercp_register.php
##
## Included Files: templates/subSilver/admin/user_ip_list.tpl
## admin/admin_reg_ip.php
##
#################################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
#################################################################
##
## Change Log:
##
## 30/09/04:
## Changed the code to work with 2.0.10.
## Amended the code to try and get round people who use
## proxy servers, so the IP you get is the users not the
## proxy box (With thanks to pootergeist from http://board.php-princess.net/).
##
#################################################################
#
#-----[ SQL / RUN ]---------------------------
#
ALTER TABLE `phpbb2_users`
ADD `user_reg_ip` TEXT NULL,
ADD `user_reg_host` TEXT NULL;
#
#-----[ COPY ]---------------------------
#
templates/xxxx/admin/user_ip_list.tpl
#
#-----[ COPY ]---------------------------
#
admin/admin_reg_ip.php
#
#-----[ OPEN ]------------------------------
#
includes/usercp_register.php
#
#-----[ FIND ]------------------------------------------
#
$user_id = $row['total'] + 1;
#
#-----[ AFTER ADD ]---------
#
//
// BEGIN - Registration IP Hack
//
if (isSet($_SERVER))
{
if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif (isSet($_SERVER["HTTP_CLIENT_IP"]))
{
$realip = $_SERVER["HTTP_CLIENT_IP"];
}
else
{
$realip = $_SERVER["REMOTE_ADDR"];
}
}
else
{
if ( getenv( 'HTTP_X_FORWARDED_FOR' ) )
{
$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
}
elseif ( getenv( 'HTTP_CLIENT_IP' ) )
{
$realip = getenv( 'HTTP_CLIENT_IP' );
}
else
{
$realip = getenv( 'REMOTE_ADDR' );
}
}
$user_reg_id = $realip;
$user_reg_host = gethostbyaddr($realip);
//
// END - Registration IP Hack
//
#
#-----[ FIND ]--------------------
#
$sql = "INSERT INTO " . USERS_TABLE . " (
#
#-----[ IN-LINE AFTER ADD ]------------------------------------------
#
user_reg_ip, user_reg_host,
#
#-----[ FIND (next line down) ]------------------------------------
#
VALUES (
#
#-----[ IN-LINE AFTER ADD ]------------------------------
#
'" . str_replace("\'", "''", $user_reg_id) . "', '" . str_replace("\'", "''", $user_reg_host) . "',
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
#
De 1e typefout staat bij SQL / RUN bij:
ALTER TABLE `phpbb2_users`. Hier moet de 2 weg gehaald worden bij `phpbb2_users`.
Vervolgens wordt er m.i. `user_reg_ip` enkele keren abusievelijk als `user_reg_id` weergegeven.
De parser error krijg ik bij de laatse IN-LINE ADD '" . str_replace("\'", "''", $user_reg_id) . "', '" . str_replace("\'", "''", $user_reg_host) . "',
Als ik naar de gewijzigde code kijkt dan start de toegevoegde code verkeerd ten opzichte van de niet gewijzigde code althans met de beperkte kennis die ik op dit moment nog heb van php.
De code die gewijzigd moet worden is de volgende:
Code: Selecteer alles
VALUES ($user_id, '" . str_replace("\'", "''", $username) . "', " . time() . ", '" . str_replace("\'", "''", $new_password) . "', '" . str_replace("\'", "''", $email) . "', '" . str_replace("\'", "''", $icq) . "', '" . str_replace("\'", "''", $website) . "', '" . str_replace("\'", "''", $occupation) . "', '" . str_replace("\'", "''", $location) . "', '" . str_replace("\'", "''", $interests) . "', '" . str_replace("\'", "''", $signature) . "', '$signature_bbcode_uid', $avatar_sql, $viewemail, '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', '" . str_replace("\'", "''", $yim) . "', '" . str_replace("\'", "''", $msn) . "', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $popup_pm, $user_timezone, '" . str_replace("\'", "''", $user_dateformat) . "', '" . str_replace("\'", "''", $user_lang) . "', $user_style, 0, 1, ";
Zou iemand mij een aanwijzing kunnen geven hoe deze error verholpen kan worden en of de constatering van mij dat `user_reg_ip` enkele keren abusievelijk als `user_reg_id` is weergegeven, juist is.
Bij voorbaat mijn dank.