Php სკრიპტი ip-ით ოპერატორის დასადგენად. Sypex Geo - ქალაქის სწრაფი იდენტიფიკაცია IP-ით. შეიტყვეთ მომხმარებლის ქვეყანა და სხვა

აჩვენეთ ვიზიტორის ქალაქი მაღაზიის კონვერტაციის განაკვეთების გასაუმჯობესებლად. მზა კოდის ჩასმა საიტზე ნებისმიერ ადგილას, სადაც მითითებულია ქალაქი, რეგიონი და ქვეყანა. ბევრი სკრიპტი ვცადე, მაგრამ ეს ყველაზე მარტივი და ეფექტური აღმოჩნდა! მე ის გამოვიყენე ვებსაიტის www.mzm-market.ru შექმნისას, სადაც სკრიპტი აჩვენებს "მიწოდება______-ს"

ჩასვით შემდეგი კოდი index.tpl-ში (ან მიწოდების გვერდზე) ნებისმიერ სასურველ ადგილას:



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


გამომავალი მზადდება გამოყენებით:

// ქვეყანა, ქალაქი, რეგიონი.
geolocation.country, geolocation.city, geolocation.region

მინდა ცოტა დავამატო ამ პოსტს (რედაქტირებულია 2017 წლის 18 თებერვალს).

ზემოაღნიშნული სკრიპტის გამოყენებისას ბევრ ქალაქში და ბრაუზერში უბრალოდ არაფერი იყო ნაჩვენები და ხანგრძლივი ძიების შემდეგ ვიპოვე ალბათ ყველაზე ეფექტური სკრიპტი ქვეყნის, რეგიონის, ქალაქის განსაზღვრისთვის Yandex API-ით. მე გამოვცადე ის ჩემი კლიენტების მეშვეობით, რომლებიც თითქმის მთელ რუსეთში და მის ფარგლებს გარეთ მდებარეობენ და ეს სკრიპტი შესანიშნავი აღმოჩნდა! აქ არის ჩემი კლიენტის სკრინშოტი:

თქვენ გესმით, რომ ყველაფერი ნათლად არის განსაზღვრული! აბა, ნაწერებით არ გატანჯავ და მაგალითს მოგიყვან!

js ქვეყნის, რეგიონის, ქალაქის განსაზღვრა Yandex API-ით

უბრალოდ ჩასვით ეს კოდი ტეგებს შორის




$(დოკუმენტი).ready(function())(
ymaps.ready(function())(
var geolocation = ymaps.geolocation;
$("#cou").html("თქვენი ქვეყანა: "+geolocation.country);
$("#tow").html("თქვენი ქალაქი: "+geolocation.city);
$("#reg").html("თქვენი რეგიონი: "+geolocation.region);
});
});

და ეს კოდი თქვენს გვერდზე სწორ ადგილას:

თქვენი ქვეყანა: ... გადაწყვეტილი...
შენი ქალაქი: ... გადაწყვეტილი...
თქვენი რეგიონი: ... განსაზღვრულია...

დემონსტრაცია

თქვენი ქვეყანა: ... გადაწყვეტილი...

შენი ქალაქი: ... გადაწყვეტილი...

თქვენი რეგიონი: ... განსაზღვრულია...

სკრიპტი მუშაობს უპრობლემოდ, მაგრამ შესაძლებელია, რომ მათთვის, ვინც პატარა სოფლებშია, ქალაქი, სავარაუდოდ, არასწორად განისაზღვროს და თქვენი ინტერნეტ პროვაიდერის ქალაქი განისაზღვროს.

ავტორისგან: ინტერნეტში შენი სახელი და გვარი არაფერს ნიშნავს. აქ IP გამოიყენება მომხმარებლის დასადგენად. ამის ცოდნით, შეგიძლიათ განსაზღვროთ პირის საცხოვრებელი ქალაქი და ქვეყანა, გამოყენებული ბრაუზერი…. არ გჯერა? ამ ყველაფერს მიხვდებით, როცა PHP-ში IP-ის განმარტებას შეისწავლით.

IP და სხვა

მომხმარებლის ქსელის ინფორმაციის მისაღებად PHP-ში არის გლობალური მასივი $_SERVER. მოდით გამოვხატოთ მისი შინაარსი ეკრანზე:

ახლა ჩვენ ვიცით, რომ IP ჩაწერილია REMOTE_ADDR-ში. Საიდან მოდის? კლიენტი აგზავნის ყველა ამ მონაცემს კავშირის დამყარებისას. ეს ცვლადი დაყენებულია სერვერის პარამეტრებში კლიენტის მხარეს.

ზოგიერთი ადამიანი იყენებს HTTP სათაურის მნიშვნელობებს PHP-ში IP-ით ქალაქის დასადგენად, მაგრამ ეს ძირეულად არასწორია. ნებისმიერ მომხმარებელს შეუძლია მიუთითოს სათაურის მნიშვნელობები თავისი ჰოსტისთვის. თქვენ ასევე უნდა გესმოდეთ რა IP გჭირდებათ. მაგალითად, HTTP_X_FORWARDED_FOR მნიშვნელობა შეიცავს დისტანციური კლიენტის, მისი პროქსის მისამართს ან შეიძლება იყოს სრულიად ცარიელი. მოკლედ, საკმარისი იქნება ამის დასალაგებლად ერთზე მეტი საღამო.

რაც შეეხება მომხმარებლის ბრაუზერს, შეგიძლიათ სცადოთ მისი განსაზღვრა get_browser() ფუნქციის გამოყენებით. მაგრამ კლიენტის მხარეს გამოსაყენებლად, გზა browscap.ini-მდე უნდა იყოს მითითებული php.ini ფაილში. წინააღმდეგ შემთხვევაში თქვენ მიიღებთ გაფრთხილებას შემდეგნაირად:

შეიტყვეთ მომხმარებლის ქვეყანა და სხვა

ახლა, PHP-ის გამოყენებით, ჩვენ განვსაზღვრავთ ქვეყანას IP-ით. მაგრამ პირველ რიგში, მოდით გადავხედოთ ყველა გადაწყვეტას ამ სფეროში. ამ სკრიპტების უმეტესობა იყენებს გლობალური მასივის ელემენტს $_SERVER REMOTE_ADDR, რომელიც ჩვენ აღვნიშნეთ. ახლა მოდის ყველაზე მნიშვნელოვანი ნაწილი.

თქვენ შეგიძლიათ გამოიყენოთ უკვე, რომელშიც მიღებული IP უბრალოდ დალაგებულია მისი მნიშვნელობიდან გამომდინარე. იმედი მაქვს, თქვენთვის საიდუმლო არ არის, რომ ეს მნიშვნელობა ენიჭება კლიენტს (მასპინძელს) მისი გეოლოკაციიდან გამომდინარე: მომხმარებლის ქვეყანა, ქალაქი და რეგიონი. ყველა ფუნქცია ეფუძნება ამ დიაპაზონების ანალიზს.

ასევე გამოიყენება სხვადასხვა მესამე მხარის სერვისები, როგორიცაა ip-whois.net. სკრიპტის გამოყენებით, თქვენ გადასცემთ IP მნიშვნელობას და ის გიბრუნებთ მონაცემებს ჰოსტის ადგილმდებარეობის შესახებ.

გარდა ამისა, ზოგიერთ სპეციალიზირებულ ბიბლიოთეკას გააჩნია საკუთარი მონაცემთა ბაზა, რომელთა ცხრილები შეიცავს ყველა IP დიაპაზონს დახარისხებული (გეოგრაფიის მიხედვით). მე არ ჩამოვთვლი მათ. ახლა უამრავი მათგანია ინტერნეტში.

Შენ გადაწყვიტე. მესამე მხარის სერვისის გამოყენება შეამცირებს რესურსის ხარჯებს და დატვირთვას თქვენს ვებსაიტზე. ამავდროულად, მონაცემთა ბაზასთან ბიბლიოთეკის გამოყენება აღმოფხვრის კავშირის პრობლემებს.

შემდეგი სკრიპტი იყენებს TabGeo ბიბლიოთეკას რეგიონის დასადგენად IP PHP-ით. ახლა მისი ოფიციალური რესურსი არ მუშაობს. მე გადმოვწერე ბიბლიოთეკა GitHub-დან, მაგრამ გამოვიყენე მხოლოდ country.php ფაილი. ის იყენებს მიღებულ IP-ს მომხმარებლის საცხოვრებელი ქვეყნის დასადგენად. შემდეგ კი (ISO კოდის გამოყენებით) შეგიძლიათ განახორციელოთ გადამისამართებები საიტის სხვადასხვა გვერდებზე: