Php skript na určenie operátora podľa IP. Sypex Geo - rýchla identifikácia mesta podľa IP. Zistite krajinu používateľa a ďalšie informácie

Zobrazte mesto návštevníka, aby ste zlepšili mieru konverzie obchodu. Hotový kód na vloženie kdekoľvek na stránke označujúci mesto, región a krajinu. Vyskúšal som veľa skriptov, ale tento sa ukázal ako najjednoduchší a najefektívnejší! Použil som ho pri vytváraní webovej stránky www.mzm-market.ru, kde skript zobrazuje „doručenie do______“

Vložte nasledujúci kód do index.tpl (alebo na doručovaciu stránku) na ľubovoľné miesto:



window.onload =function())(
jQuery("#user-mesto").text(ymaps.geolocation.city);
jQuery("#user-region").text(ymaps.geolocation.region);
jQuery("#user-country").text(ymaps.geolocation.country);)


Výstup sa robí pomocou:

// krajina, mesto, región.
geolocation.country, geolocation.city, geolocation.region

Rád by som k tomuto príspevku (upravené 18. februára 2017) trochu dodal.

Pri použití vyššie uvedeného skriptu sa v mnohých mestách a prehliadačoch jednoducho nič nezobrazovalo a po dlhom hľadaní som našiel asi najefektívnejší skript na určenie krajiny, regiónu, mesta cez Yandex API. Testoval som to prostredníctvom svojich klientov, ktorí sa nachádzajú takmer po celom Rusku a mimo neho, a tento skript sa ukázal ako vynikajúci! Tu je snímka obrazovky môjho klienta:

Chápete, že všetko bolo jasne definované! No nebudem ťa mučiť spismi a dám ti príklad!

js Určenie krajiny, regiónu, mesta cez Yandex API

Stačí vložiť tento kód medzi značky




$(document).ready(function())(
ymaps.ready(funkcia())(
var geolocation = ymaps.geolocation;
$("#cou").html("Vaša krajina: "+geolocation.country);
$("#tow").html("Vaše mesto: "+geolokácia.mesto);
$("#reg").html("Váš región: "+geolocation.region);
});
});

A tento kód na správnom mieste na vašej stránke:

Vaša krajina: ... rozhodnutá...
Vaše mesto: ... rozhodnuté...
Váš región: ... určený...

Demonštrácia

Vaša krajina: ... rozhodnutá...

Vaše mesto: ... rozhodnuté...

Váš región: ... určený...

Skript funguje bez problémov, ale je možné, že pre tých, ktorí sú v malých dedinách, bude s najväčšou pravdepodobnosťou nesprávne určené mesto a bude určené mesto vášho poskytovateľa internetu.

Od autora: na internete vaše meno a priezvisko nič neznamená. IP sa tu používa na určenie používateľa. Keď to poznáte, môžete určiť mesto a krajinu pobytu osoby, použitý prehliadač…. neveríš mi? To všetko pochopíte, keď si preštudujete definíciu IP v PHP.

IP a ďalšie

Na získanie informácií o sieti používateľa v PHP existuje globálne pole $_SERVER. Ukážme jej obsah na obrazovke:

Teraz vieme, že IP je zaznamenaná v REMOTE_ADDR. Odkiaľ to pochádza? Všetky tieto údaje klient odosiela pri nadväzovaní spojenia. Táto premenná sa nastavuje v nastaveniach servera na strane klienta.

Niektorí ľudia používajú hodnoty hlavičky HTTP na určenie mesta podľa IP v PHP, ale to je zásadne nesprávne. Každý používateľ môže zadať hodnoty hlavičky pre svojho hostiteľa. Mali by ste tiež pochopiť, akú IP potrebujete. Napríklad hodnota HTTP_X_FORWARDED_FOR obsahuje adresu vzdialeného klienta, jeho proxy alebo môže byť úplne prázdna. Na vyriešenie toho bude skrátka dosť na nejeden večer.

Pokiaľ ide o prehliadač používateľa, môžete ho skúsiť určiť pomocou funkcie get_browser(). Ak ho však chcete použiť na strane klienta, cesta k browscap.ini musí byť špecifikovaná v súbore php.ini. V opačnom prípade dostanete varovanie, ako je toto:

Zistite krajinu používateľa a ďalšie informácie

Teraz pomocou PHP určíme krajinu podľa IP. Najprv si však zopakujme všetky riešenia v tejto oblasti. Väčšina týchto skriptov používa prvok globálneho poľa $_SERVER REMOTE_ADDR, ktorý sme spomenuli. Teraz prichádza najdôležitejšia časť.

Môžete použiť už, v ktorom sa prijatá IP jednoducho zoradí v závislosti od jej hodnoty. Dúfam, že pre vás nie je tajomstvom, že táto hodnota je priradená klientovi (hostiteľovi) v závislosti od jeho geolokácie: krajiny, mesta a regiónu bydliska používateľa. Všetky funkcie sú založené na analýze týchto rozsahov.

Používajú sa aj rôzne služby tretích strán, ako napríklad ip-whois.net. Pomocou skriptu odošlete hodnotu IP a ten vám vráti údaje o umiestnení hostiteľa.

Niektoré špecializované knižnice navyše prichádzajú s vlastnou databázou, ktorej tabuľky obsahujú všetky rozsahy IP zoradené (podľa geografie). Nebudem ich vypisovať. Teraz ich je na internete dosť.

Ty rozhodni. Používanie služby tretej strany zníži náklady na zdroje a zaťaženie vášho webu. Používanie knižnice s databázou zároveň odstráni problémy s pripojením.

Nasledujúci skript používa knižnicu TabGeo na určenie oblasti pomocou IP PHP. Teraz jeho oficiálny zdroj nefunguje. Knižnicu som si stiahol z GitHubu, no použil som len súbor country.php. Používa prijatú IP na určenie krajiny pobytu používateľa. A potom (pomocou kódu ISO) môžete implementovať presmerovania na rôzne stránky webu: