Clanintern Clanintern Clanintern

Forum

Öffentliche Foren
FORUM: Spiele & Computer THEMA: [PHP] REMOTE_ADDR über mehrere Server
AUTOR BEITRAG
Michael

RANG Deckschrubber

#1 - 01.11 18:48

Hallo,

ich habe folgenden Aufbau:

f[Server1:]f
ip.php gibt mittels $
PHP-code:
<?php echo $_SERVER["REMOTE_ADDR"?>
die IP aus.

Wenn ich jetzt von Client1 www.server1.de/ip.php aurufe, erscheint da auch meine IP. (wie erwartet)

f[Server2:]f
test.php
PHP-code:
<?php include("http://www.server1.de/ip.php"); ?>


Wenn ich jetzt von Client1 www.server2.de/test.php aufrufe, habe ich erwartet, dass die IP von Server2 ausgegeben wird. Aber es wird wieder die IP von Client1 angezeigt.

Gibt es eine Möglichkeit die IP von Server2 dann zu sehen? Weil die http Connection müsste ja für den include eigentlich schon von Server2 aus gemacht werden?

Sinn und Zweck soll sein, dass nur von bestimmten Server ein include auf die Datei erlaubt sein soll.
horst

RANG Prophet of Clanintern

#2 - 02.11 11:42

Schon mit einer .htaccess versucht?
code:
order allow,deny

deny 192.168.0.1
deny 192.168.9.2
usw usf
Michael

RANG Deckschrubber

#3 - 02.11 11:50

Ich möchte den Server an Hand seiner IP identifizieren können. Und das ganze soll nicht statisch sein.
horst

RANG Prophet of Clanintern

#4 - 02.11 16:10

Alles klar.
*al!ve* - will code for food

RANG Master of Clanintern

#5 - 02.11 21:41

Ähm ... wenn du auf http://server2/test.php die IP deines Client1 siehst stimmt da irgend was nicht. Entweder Server1 schickt dir den PHP-Code und Server2 interpretiert ihn oder du hast n Redirect anstatt n Include verwendet, was anderes fällt mir grade nicht ein.

Nimm mal fopen('http://server1/ip.php', 'r') (mit entsprechendem fgets und fclose danach), file('http://server1/ip.php') (und Arrayansteuerung) oder fsockopen('server1', 80) (mit fputs des HTTP-Headers und ebenfalls fgets und fclose) und guck was dabei zurück kommt.

Es ist btw immer recht gefährlich, wenn du irgend ne Remoteadresse mit include einbindest. Wenn ich deinen Server2 durch irgend ne Routinglücke dazu bringe, dass er nicht deinen Server1 sondern meinen Angreiferserver anspricht kann ich dir da beliebigen Schadcode in dein Script packen. Include wäre für mich daher so ziemlich die letzte Alternative die ich wählen würde. Lieber mit XML-Files oder serialisierten Arrays kommunizieren. Hauptsache der zugreifende Server führt den übergebenen Code nicht aus.