2012-09-24 9 views
6

Ich habe ein PHP-Skript auf einem Server, der von verschiedenen Maschinen zu verschiedenen Zeiten im Laufe des Tages auf Basis von Cronjobs, die auf Setup sind, getroffen wird jede Maschine. Ich mag die IP der Maschinen von dem die Anforderung wissen, und wenn es von einem Browser aus, führt die folgende erfolgreich:

<?php 
    ... 
    echo $_SERVER['REMOTE_ADDR']; 
    ... 
?> 

Wenn jedoch durch CURL oder ein anderes Kommandozeilen-Tool habe ich versucht haben, zu verwenden (Luchs im Lieferumfang enthalten), habe ich am Ende mit dem folgenden Müll bis:

2701:5:4a80:7d:2ee:8eff:5e61:801d

aus der Untersuchung die ich getan habe, ist dies ein Ergebnis von Apache ist nicht die $_SERVER Variable für Anfragen erhalten bevölkert, die aus gemacht werden die Befehlszeile.

REMOTE ADDR Issue with Cron Job

wissen jemand eine Möglichkeit, Kommandozeilen-Anfragen zu bekommen schön zu spielen mit der $_SERVER Variable oder sollte ich einen anderen Weg gehen?

Antwort

10

Das ist kein Müll, das ist die richtige Remote-Adresse. Jemand hat IPv6 verwendet, um auf Ihren Server zuzugreifen.

+0

Mein schlechtes: - \ Irgendeine Idee, wie man die verbundene IPv4-Adresse erhält? – TMan

+0

@TMan, ist es nicht möglich. IPv4 und IPv6 müssen nicht unbedingt etwas miteinander zu tun haben. – Brad

+0

@TMan, Siehe meine Antwort hier: http://stackoverflow.com/a/12468102/362536 – Brad