Jak Zjistit IP Návštěvníka Webu

Obsah:

Jak Zjistit IP Návštěvníka Webu
Jak Zjistit IP Návštěvníka Webu

Video: Jak Zjistit IP Návštěvníka Webu

Video: Jak Zjistit IP Návštěvníka Webu
Video: Jak zjistit někoho IP ADRESU ? • CZ/SK TUTORIAL • [ Basic způsob - Grabify návod ] 2024, Prosinec
Anonim

K jeho identifikaci se nejčastěji používá IP adresa návštěvníka stránky. Kromě toho můžete pomocí protokolu IP získat spoustu dalších informací o návštěvníkovi - například zjistit jeho poskytovatele internetu a geografickou polohu. V praxi se skripty PHP na straně serveru nejčastěji používají k extrakci adres IP ze záhlaví požadavků odeslaných prohlížečem.

Jak zjistit IP návštěvníka webu
Jak zjistit IP návštěvníka webu

Je to nutné

Základní znalost PHP

Instrukce

Krok 1

Pomocí integrované funkce getenv v PHP můžete číst adresy IP z pole proměnných prostředí superglobálního prostředí. V nejjednodušším případě bude stačit přečíst proměnnou s názvem REMOTE_ADDR. Odpovídající část kódu PHP může vypadat například takto: $ userIP = getenv ('REMOTE_ADDR');

Krok 2

Kromě proměnné REMOTE_ADDR zaslané v požadavku zkontrolujte proměnné HTTP_VIA a HTTP_X_FORWARDED_FOR. Pokud návštěvník používá proxy server, pak musí být zprostředkující adresa zaznamenána v obou proměnných - v HTTP_VIA i REMOTE_ADDR. V tomto případě se můžete pokusit zjistit skutečnou IP adresu návštěvníka prostřednictvím HTTP_X_FORWARDED_FOR - proxy server do ní musí vložit původní adresu. To však není vždy provedeno a uživatel má možnost vybrat „neprůhledný“proxy server, který nepřenáší původní IP adresu návštěvníka, který požadavek odeslal. V každém případě byste měli použít co nejvíce způsobů, jak získat původní adresu IP v kódu přidáním kontroly proměnné

Krok 3

Zřetězit v jednom řádku kódu PHP postupnou kontrolu tří proměnných prostředí, které mohou obsahovat původní IP adresu návštěvníka. Lze to udělat například takto: $ userIP = getenv ('HTTP_CLIENT_IP') OR $ userIP = getenv ('HTTP_X_FORWARDED_FOR') OR $ userIP = getenv ('REMOTE_ADDR');

Krok 4

Odeberte z výsledné hodnoty IP další znaky a další „odpadky“, které se mohou dostat do proměnných prostředí. Toho lze dosáhnout například pomocí vestavěných funkcí PHP TRIM a preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

Krok 5

Zkombinujte veškerý kód do vlastní funkce, abyste na něj mohli místo opakování kontrolních a čistících řádků v různých částech svých skriptů PHP odkazovat. Například takto: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') NEBO $ userIP = getenv ('HTTP_X_FORWARDED_FOR') NEBO $ userIP = getenv ('REMOTE_ADDR');

RETURN TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

}

Doporučuje: