Sådan Finder Du Ud Af Ip Hos En Besøgende

Indholdsfortegnelse:

Sådan Finder Du Ud Af Ip Hos En Besøgende
Sådan Finder Du Ud Af Ip Hos En Besøgende

Video: Sådan Finder Du Ud Af Ip Hos En Besøgende

Video: Sådan Finder Du Ud Af Ip Hos En Besøgende
Video: How To Know The People Visiting Your Site, Country, IP Address And Browser 2024, April
Anonim

Oftest bruges IP-adressen til en besøgende til at identificere ham. Men udover dette, ved hjælp af IP, kan du få en masse yderligere oplysninger om den besøgende - for eksempel finde ud af hans internetudbyder og geografiske placering. I praksis bruges PHP-scripter på serversiden oftest til at udtrække IP-adresser fra de anmodningsoverskrifter, der sendes af browseren.

Sådan finder du ud af ip hos en besøgende
Sådan finder du ud af ip hos en besøgende

Er det nødvendigt

Grundlæggende viden om PHP

Instruktioner

Trin 1

Brug PHP's indbyggede getenv-funktion til at læse IP-adresser fra det superglobale miljøvariabelarray. I det enkleste tilfælde vil det være tilstrækkeligt at læse variablen REMOTE_ADDR. Det tilsvarende stykke PHP-kode kan se sådan ud: $ userIP = getenv ('REMOTE_ADDR');

Trin 2

Ud over den REMOTE_ADDR-variabel, der sendes i anmodningen, skal du kontrollere variablerne HTTP_VIA og HTTP_X_FORWARDED_FOR. Hvis den besøgende bruger en proxyserver, skal den mellemliggende adresse registreres i begge variabler - i både HTTP_VIA og REMOTE_ADDR. I dette tilfælde kan du forsøge at finde ud af den reelle IP for den besøgende gennem HTTP_X_FORWARDED_FOR - proxyserveren skal sætte den originale adresse i den. Dette gøres imidlertid ikke altid, og brugeren har mulighed for at vælge en "uigennemsigtig" proxyserver, der ikke sender den oprindelige IP for den besøgende, der sendte anmodningen. Under alle omstændigheder skal du bruge så mange måder som muligt for at få den originale IP-adresse i din kode ved at tilføje en check for

Trin 3

Sammenkæd i en linje af PHP-kode en sekventiel kontrol af tre miljøvariabler, som kan indeholde den besøgendes originale IP-adresse. Dette kan f.eks. Gøres således: $ userIP = getenv ('HTTP_CLIENT_IP') ELLER $ userIP = getenv ('HTTP_X_FORWARDED_FOR') ELLER $ userIP = getenv ('REMOTE_ADDR');

Trin 4

Fjern ekstra tegn og andet "affald" fra den resulterende IP-værdi, der kan komme ind i miljøvariabler. Dette kan f.eks. Gøres ved hjælp af de indbyggede PHP-funktioner TRIM og preg_replace: $ userIP = TRIM (preg_replace ('# ^ ([^,] +) (,. *)? #', '$ 1', $ userIP));

Trin 5

Kombiner al koden til en brugerdefineret funktion, så du kan henvise til den i stedet for at gentage kontrol- og oprydningslinjerne igen og igen i forskellige dele af dine PHP-scripts. For eksempel som dette: FUNCTION getUserIP () {

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

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

}

Anbefalede: