mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 03.03.2004, 20:46   #1
QCO
TP-Senior
 
Registriert seit: Mar 2003
Ort: Leipzig
QCO macht alles soweit korrekt

phpbb und HTTP_X_FORWARDED_FOR


Ich hab ein Problem mit phpbb...
Wenn ein Nutzer in phpbb ohne Cookies surft, wird die Session-ID als GET-Parameter durchgereicht. Wenn solch ein Nutzer jetzt auf einen Link klickt, der auf eine andere Seite führt, kann auf dem anderen Server über den HTTP-REFERRER die SID ausgelesen werden.
Das Problem ist so alt wie die SIDs und in phpbb schützt man sich vor der Übernahme von Sessions, indem man eine Session an eine bestimmte IP bindet.

Aber in meinem Fall nützt das nichts, weil die meisten Nutzer meines Boards den gleichen Proxyserver nutzen und deshalb auch von phpbb mit der selben IP erkannt werden. Deshalb können diese Nutzer relativ einfach die Session übernehmen.

Der betreffende Proxy liefert HTTP_X_FORWARDED_FOR, aber phpbb erkennt trotzdem nur die IP-Adresse des Proxies in den Sessions.
Wenn er da irgendwie die interne IP mit verwenden würde, wäre mein Problem schon viel kleiner...

In der common.php gibt es folgenden Code:
PHP-Code:
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\..*/');//versteh ich nicht
            
$found_ip preg_replace($private_ip$client_ip$ip_list[1]);

            if (
$client_ip != $found_ip)
            {
                
$client_ip $found_ip;
                break;
            }
        }
    }

Irgendwas wird hier mit der LAN-internen IP-Adresse gemacht. Den Abschnitt mit dem replace verstehe ich aber nicht und kann deshalb nicht sagen, war um das nicht greift oder was hier eigentlich passieren sollte...
Kann mir da jemand helfen?
__________________
[httpsmog]
"I have not failed. I've just found 10,000 ways that won't work." - Thomas Alva Edison (1847-1931)
QCO ist offline   Mit Zitat antworten


Alt 04.03.2004, 10:45   #2
TP-Veteran
 
Benutzerbild von jonemo
 
Registriert seit: Dec 2002
Ort: london
jonemo macht sich hier sehr viel Mühe
PHP-Code:
$private_ip = array('/^0./''/^127.0.0.1/''/^192.168..*/''/^172.((1[6-9])|(2[0-9])|(3[0-1]))..*/''/^10..*/''/^224..*/''/^240..*/');//versteh ich nicht 
Macht ein Array mit Mustern, wie interne IP-Adressen aussieht.

PHP-Code:
$found_ip preg_replace($private_ip$client_ip$ip_list[1]); 
Zitat:
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])


Searches subject for matches to pattern and replaces them with replacement. If limit is specified, then only limit matches will be replaced; if limit is omitted or is -1, then all matches are replaced.
Wenn $ip_list[1] eine interne IP-Adresse ist (was mit hilfe der Musterin $privat_ip geprüft wird), wird $ip_list[1] durch $client_ip ersetzt.

Jetzt musst du mir sagen was in $client_ip drinsteht (meine Kurzschreibweiseschwäche bei ifthenelse kennst du ja ) und was $ip_list für nen Array ist.
__________________
the daily london photo
jonemo ist offline   Mit Zitat antworten
Alt 04.03.2004, 10:52   #3
QCO
TP-Senior
 
Registriert seit: Mar 2003
Ort: Leipzig
QCO macht alles soweit korrekt
$client_ip ist am Anfang die IP des Proxies und HTTP_X_FORWARDED_FOR z.B. 192.168.32.70.

$client_ip ist am Ende aber immer noch die IP des Proxies....
__________________
[httpsmog]
"I have not failed. I've just found 10,000 ways that won't work." - Thomas Alva Edison (1847-1931)
QCO ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
phpbb und HTTP_X_FORWARDED_FOR phpbb und HTTP_X_FORWARDED_FOR
« Was heisst das? | Skript für Online Magazin? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:04 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67