Script PHP pentru determinarea operatorului prin ip. Sypex Geo - identificarea rapidă a unui oraș prin IP. Aflați țara utilizatorului și multe altele

Afișați orașul vizitatorului pentru a îmbunătăți ratele de conversie a magazinului. Cod de inserare gata făcut oriunde pe site, indicând orașul, regiunea și țara. Am încercat o mulțime de scripturi, dar acesta s-a dovedit a fi cel mai simplu și mai eficient! L-am folosit când am creat site-ul web www.mzm-market.ru, unde scriptul afișează „livrare la______”

Lipiți următorul cod în index.tpl (sau pe pagina de livrare) în orice loc dorit:



window.onload =funcție())(
jQuery("#user-city").text(ymaps.gelocation.city);
jQuery("#user-region").text(ymaps.gelocation.region);
jQuery("#user-country").text(ymaps.gelocation.country);)


Ieșirea se realizează folosind:

// țară, oraș, regiune.
geolocalizare.țară, geolocalizare.oraș, geolocalizare.regiune

Aș dori să adaug puțin la această postare (editată pe 18 februarie 2017).

Când am folosit scriptul de mai sus, în multe orașe și browsere pur și simplu nu a fost afișat nimic și, după o lungă căutare, am găsit probabil cel mai eficient script pentru a determina o țară, o regiune, un oraș prin API-ul Yandex. L-am testat prin intermediul clienților mei, care se află aproape în toată Rusia și nu numai, iar acest scenariu s-a dovedit excelent! Iată o captură de ecran a clientului meu:

Înțelegi că totul a fost clar definit! Ei bine, nu vă voi chinui cu scrieri și vă voi da un exemplu!

js Determinarea țării, regiunii, orașului prin API-ul Yandex

Doar lipiți acest cod între etichete




$(document).gata(funcție())(
ymaps.ready(funcție())(
var geolocation = ymaps.gelocation;
$("#cou").html("Țara dvs.: "+geolocație.țara);
$("#tow").html("Orașul dvs.: "+geolocație.oraș);
$("#reg").html("Regiunea dvs.: "+gelocation.region);
});
});

Și acest cod în locul potrivit pe pagina ta:

Țara ta: ... hotărâtă...
Orașul tău: ... hotărât...
Regiunea dvs.: ... determinată...

Demonstrație

Țara ta: ... hotărâtă...

Orașul tău: ... hotărât...

Regiunea dvs.: ... determinată...

Scriptul funcționează fără probleme, dar este posibil ca pentru cei care se află în sate mici, cel mai probabil orașul să fie determinat incorect, iar orașul furnizorului dvs. de internet să fie determinat.

De la autor: pe internet, numele și prenumele tău nu înseamnă nimic. Aici IP este folosit pentru a determina utilizatorul. Cunoscând acest lucru, puteți determina orașul și țara de reședință a unei persoane, browserul utilizat... Nu mă crezi? Veți înțelege toate acestea când veți studia definiția IP în PHP.

IP și multe altele

Pentru a obține informațiile despre rețeaua utilizatorului în PHP, există o matrice globală $_SERVER. Să afișăm conținutul acestuia pe ecran:

Acum știm că IP-ul este înregistrat în REMOTE_ADDR. De unde vine? Clientul trimite toate aceste date în timpul stabilirii conexiunii. Această variabilă este setată în setările serverului din partea clientului.

Unii oameni folosesc valorile antetului HTTP pentru a determina un oraș după IP în PHP, dar acest lucru este fundamental incorect. Orice utilizator poate specifica valorile antetului pentru gazda sa. De asemenea, ar trebui să înțelegeți ce IP aveți nevoie. De exemplu, valoarea HTTP_X_FORWARDED_FOR conține adresa clientului la distanță, proxy-ul acestuia sau poate fi complet goală. Pe scurt, vor fi suficiente pentru a rezolva asta pentru mai mult de o seară.

În ceea ce privește browserul utilizatorului, puteți încerca să îl determinați folosind funcția get_browser(). Dar pentru a-l folosi pe partea clientului, calea către browscap.ini trebuie specificată în fișierul php.ini. În caz contrar, veți primi un avertisment ca acesta:

Aflați țara utilizatorului și multe altele

Acum, folosind PHP, vom determina țara după IP. Dar mai întâi, să trecem în revistă toate soluțiile din acest domeniu. Cele mai multe dintre aceste scripturi folosesc elementul de matrice globală $_SERVER REMOTE_ADDR pe care l-am menționat. Acum vine partea cea mai importantă.

Puteți utiliza deja, în care IP-ul primit este pur și simplu sortat în funcție de valoarea sa. Sper că nu este un secret pentru tine că această valoare este atribuită clientului (gazdă) în funcție de geolocalizarea acestuia: țara, orașul și regiunea de reședință a utilizatorului. Toate funcționalitățile se bazează pe analiza acestor intervale.

De asemenea, sunt utilizate diverse servicii terțe, cum ar fi ip-whois.net. Folosind scriptul, treceți valoarea IP și vă returnează date despre locația gazdei.

În plus, unele biblioteci specializate vin cu propria lor bază de date, ale cărei tabele conțin toate intervalele IP sortate (după geografie). Nu le voi enumera. Există o mulțime de ele pe Internet acum.

Tu decizi. Utilizarea unui serviciu terță parte va reduce costurile cu resursele și încărcarea site-ului dvs. web. În același timp, utilizarea bibliotecii cu baza de date va elimina problemele de conectare.

Următorul script folosește biblioteca TabGeo pentru a determina regiunea după IP PHP. Acum resursa sa oficială nu funcționează. Am descărcat biblioteca de pe GitHub, dar am folosit doar fișierul country.php. Utilizează IP-ul primit pentru a determina țara de reședință a utilizatorului. Și apoi (folosind codul ISO) puteți implementa redirecționări către diferite pagini ale site-ului: