Rolf B: $_SERVER['REMOTE_ADDR'] IP nicht mehr wie gewohnt?

Beitrag lesen

Hallo Henry,

ein Webserver lauscht auf eine oder mehrere IP Adressen. Auf diesem Webserver werden 1-N Webs gehostet (das ist IIS-Sprech, der Apache nennt das womöglich anders. Ich hab schon mal was von virtuellen Webs gehört).

Es ist Aufgabe des Webservers, Anfragen auf bestimmte IP Adressen an bestimmte Webs durchzuleiten und anhand der dortigen Regeln zu beantworten.

Bei welcher IP eine Anfrage von einem Client (oder remote host) ankommt, hängt an zwei Dingen:

  • an den DNS Einträgen
  • daran, ob der Client IPv4 oder IPv6 spricht

Der "Client" kann auch, glaube ich, ein Protokollwandler sein, d.h. irgendein Computer im Netz spricht IPv4, aber seine Kommunikation wird unterwegs in IPv6 gewandelt. Aber ich bin nicht ganz sicher, ob das geht.

Es kann also sein, dass dein Web sowohl Requests bekommt, deren REMOTE_ADDR im IPv4 Format ankommt, als auch Requests im IPv6 Format, wenn der Hoster auf beide Typen von IP lauscht und sie beide an dein Web routet.

Das kannst Du nur verhindern, in dem Du den Webserver nicht auf IPv6 lauschen lässt. Angesichts der Tatsache, dass IPv4 Adressen eeetwas knapp im Vorrat sind, wäre das nicht die beste Idee.

Die Seite wieistmeineip dürfte vom Browser aus im Hintergrund eine Ajax-Abfrage machen. Wenn Du wieistmeineip.de via IPv4 abrufst, wird der v4 Server sie so ausliefern, dass sie im Hintergrund noch eine Abfrage bei einem v6 Server macht. Und wenn Du wieistmeineip.de via IPv6 abrufst, wird es umgekehrt passieren. Dadurch kann die Seite beide IP anzeigen.

Eine alternative Lösung wäre, dass der Server, der den Seitenabruf als erstes bekommt, die REMOTE_ADDR in einem Header, einem Cookie oder in der URL codiert und dann den Request zu dem Server mit der anderen IP-Technik weiterleitet. Der erkennt, dass der andere Server seine Duftmarke gesetzt hat, und kann die Information integrieren.

Ein Server bekommt jedenfalls nur eine der beiden REMOTE_ADDR Angaben, würde ich behaupten, weil die Kommunikation entweder über v4 oder v6 erfolgt.

Rolf

--
sumpsi - posui - obstruxi