Seite 1 von 1
Keine IP mehr im ACP
Verfasst: 25.12.2004 10:51
von dekkard
Hallo zusammen,
also ich habe keine IP mehr im ACP nach manuellem Update auf 2.0.11.
Alle User haben die gleiche IP.
Es erscheint immer 0.0.0.0 - ist das gewollt oder eher ein Fehler von mir?
(Ich denke eher ein Fehler beim Einbau meinerseits.)
Ausserdem werden keine Gäste mehr angezeigt unter "Wer ist Online".
Ich könnte damit leben aber irgendwie stört es mich doch.
Falls wer eine Idee haben sollte, würde mich wirklich freuen.
Schöne Feiertage noch.
dekkard
Verfasst: 27.12.2004 18:00
von dekkard
hmmm... leider finde ich den fehler nicht.
(bin aber in php auch nicht gerade gut)
in der boardsuche finde ich darunter auch nix...
ich werde das forum wohl wieder auf 2.0.8a zurückstellen.
der mod von phpbb.com war ja eh schon eingebaut.
also irgendwie is das nen bug in 2.0.11 - na mal sehen.
dekkard
p.s.: gute sache dieses board, hat schon oft geholfen... nur durch lesen !
Verfasst: 27.12.2004 18:31
von Nico Haase
bitte nicht wieder zurückstellen! nur wegen dem 0.0.0.0 doch nicht

woher das kommt, weiß ich auch nicht, ich hab den eintrag auch in den letzten tagen öfter drin, aber so wichtig is das doch nicht, im gegensatz zur sicherheit deines forums...
Verfasst: 28.12.2004 08:39
von php-fuzzy
hat denn hier schon mittlerweile eine ahnung? würde mich auch mal interessieren!
Verfasst: 07.01.2005 23:55
von dekkard
nabend zusammen,
also nach langem hin und her habe ich (mit hilfe dieses forum) wohl einen weg gefunden.
in der common.php des 2.0.11 steht ziemlich am ende dieser text :
Code: Alles auswählen
//
// Obtain and encode users IP
//
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
ich habe diesen mit der zu letzt funktionierenden verglichen und bin zu folgender lösung gekommen:
Code: Alles auswählen
//
// Obtain and encode users IP
//
if( getenv('HTTP_X_FORWARDED_FOR') != '' )
{
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
$entries = explode(',', getenv('HTTP_X_FORWARDED_FOR'));
reset($entries);
while (list(, $entry) = each($entries))
{
$entry = trim($entry);
if ( preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", $entry, $ip_list) )
{
$private_ip = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.((1[6-9])|(2[0-9])|(3[0-1]))\..*/', '/^10\..*/', '/^224\..*/', '/^240\..*/');
$found_ip = preg_replace($private_ip, $client_ip, $ip_list[1]);
if ($client_ip != $found_ip)
{
$client_ip = $found_ip;
break;
}
}
}
}
else
{
$client_ip = ( !empty($HTTP_SERVER_VARS['REMOTE_ADDR']) ) ? $HTTP_SERVER_VARS['REMOTE_ADDR'] : ( ( !empty($HTTP_ENV_VARS['REMOTE_ADDR']) ) ? $HTTP_ENV_VARS['REMOTE_ADDR'] : $REMOTE_ADDR );
}
$user_ip = encode_ip($client_ip);
ich gebe zu das meine php kenntnisse nicht gerade als gut zu bezeichnen sind,
darum wäre es schon gut wenn ein fachmann sich mal dazu äussert bevor es wer nachmacht.
bei mir funktioniert es zumindestens und es scheint auch dem sicherheitsaspekt nicht zu schaden.
ich für meinen teil habe es halt gerne wenn ich sehen kann wer oder was sich bei mir rumtreibt (ip und so).
schönes wochenende noch...
dekkard
Verfasst: 12.01.2005 23:40
von dekkard
hallo zusammen,
da sich niemand äussert gehe ich mal davon aus... es ist ok.
auf jeden fall funktioniert es und es sind keine probleme feststellbar.
mfg