[PHP] Jak uzyskać IP lub domenę z jakiej łączy się użytkownik?
Potrzebujesz pobrać domenę lub numer IP osoby łączącej się z serwisem. Cel może być dowolny - aby umieścić numer w statystykach, zablokować ponowne głosowanie w ankietach, uwiarygodnić osobę, wykorzystać informację w geotargetingu, sprawdzić przez jakiego operatora użytkownik łączy się z Siecią lub namierzyć nadawcę jakiejś informacji.
Wystarczy pobrać numer IP ze zmiennej systemowej. Jeżeli numerowi IP odpowiada jakaś domena, również można ją uzyskać. Oto gotowy kod programu:
<?
$ip = $_SERVER["REMOTE_ADDR"];
$nazwa = gethostbyaddr($ip);
echo "$ip - $nazwa"
?>
W wyniku możesz otrzymać np.:
213.77.124.145 - www.reporter.pl
PHP pozwala korzystać ze zmiennych systemowych, które przechowują m.in. numer IP osoby łączącej się z serwerem. Zmienna $_SERVER["REMOTE_ADDR"] przechowuje numer IP. Można więc łatwo go wyświetlić lub przypisać innej zmiennej.
Aby sprawdzić jaka domena odpowiada numerowi IP, wystarczy użyć funkcji gethostbyaddr() konwertującej numer na nazwę. Nie każdy IP ma przypisany nazwę domenową, wiele serwerów ma wyłącznie numer IP. W takim wypadku funkcja zwróci ten sam numer IP zamiast nazwy.
Numer IP można np. wyświetlić na stronie WWW lub wysłać mailem w razie konieczności.