आईपी ​​द्वारा ऑपरेटर निर्धारित करने के लिए PHP स्क्रिप्ट। साइपेक्स जियो - आईपी द्वारा किसी शहर की त्वरित पहचान। उपयोगकर्ता का देश और बहुत कुछ पता करें

स्टोर रूपांतरण दरों में सुधार के लिए विज़िटर का शहर प्रदर्शित करें। साइट पर कहीं भी शहर, क्षेत्र और देश का संकेत देने वाला रेडीमेड इंसर्शन कोड। मैंने बहुत सी स्क्रिप्ट आज़माईं, लेकिन यह सबसे सरल और सबसे प्रभावी निकली! मैंने इसका उपयोग वेबसाइट 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);)


आउटपुट का उपयोग करके बनाया गया है:

// देश, शहर, क्षेत्र।
जियोलोकेशन.देश, जियोलोकेशन.सिटी, जियोलोकेशन.क्षेत्र

मैं इस पोस्ट में कुछ जोड़ना चाहूंगा (18 फरवरी, 2017 को संपादित)।

उपरोक्त स्क्रिप्ट का उपयोग करते समय, कई शहरों और ब्राउज़रों में कुछ भी प्रदर्शित नहीं हुआ, और एक लंबी खोज के बाद मुझे यैंडेक्स एपीआई के माध्यम से देश, क्षेत्र, शहर का निर्धारण करने के लिए शायद सबसे कुशल स्क्रिप्ट मिली। मैंने अपने ग्राहकों के माध्यम से इसका परीक्षण किया, जो लगभग पूरे रूस और उसके बाहर स्थित हैं, और यह स्क्रिप्ट उत्कृष्ट साबित हुई! यहाँ मेरे ग्राहक का एक स्क्रीनशॉट है:

आप समझते हैं कि सब कुछ स्पष्ट रूप से परिभाषित किया गया है! खैर, मैं आपको लेखन से परेशान नहीं करूंगा और आपको एक उदाहरण दूंगा!

जेएस यांडेक्स एपीआई के माध्यम से देश, क्षेत्र, शहर का निर्धारण

बस इस कोड को टैग के बीच पेस्ट करें




$(दस्तावेज़).तैयार(फ़ंक्शन())(
ymaps.ready(फ़ंक्शन())(
var जियोलोकेशन = ymaps.geolocation;
$("#cou").html("आपका देश: "+geolocation.country);
$("#tow").html("आपका शहर: "+geolocation.city);
$("#reg").html("आपका क्षेत्र: "+geolocation.region);
});
});

और यह कोड आपके पेज पर सही जगह पर है:

आपका देश:...दृढ़संकल्पित...
आपका शहर:...निर्धारित...
आपका क्षेत्र:...निर्धारित...

प्रदर्शन

आपका देश:...दृढ़संकल्पित...

आपका शहर:...निर्धारित...

आपका क्षेत्र:...निर्धारित...

स्क्रिप्ट बिना किसी समस्या के काम करती है, लेकिन यह संभव है कि जो लोग छोटे गांवों में हैं, उनके लिए शहर का निर्धारण गलत तरीके से किया जाएगा, और आपके इंटरनेट प्रदाता का शहर निर्धारित किया जाएगा।

लेखक की ओर से: इंटरनेट पर, आपके पहले और अंतिम नाम का कोई मतलब नहीं है। यहां आईपी का उपयोग उपयोगकर्ता को निर्धारित करने के लिए किया जाता है। इसे जानकर, आप किसी व्यक्ति के निवास का शहर और देश, उपयोग किए गए ब्राउज़र का निर्धारण कर सकते हैं…। मुझ पर विश्वास नहीं है? जब आप PHP में IP की परिभाषा का अध्ययन करेंगे तो आपको यह सब समझ में आ जाएगा।

आईपी ​​और भी बहुत कुछ

PHP में उपयोगकर्ता की नेटवर्क जानकारी प्राप्त करने के लिए, एक वैश्विक सरणी $_SERVER है। आइए इसकी सामग्री को स्क्रीन पर प्रदर्शित करें:

अब हम जानते हैं कि IP REMOTE_ADDR में रिकॉर्ड किया गया है। कहाँ से आता है? क्लाइंट यह सारा डेटा कनेक्शन स्थापना के दौरान भेजता है। यह वेरिएबल क्लाइंट साइड पर सर्वर सेटिंग्स में सेट है।

कुछ लोग PHP में आईपी द्वारा शहर निर्धारित करने के लिए HTTP हेडर मानों का उपयोग करते हैं, लेकिन यह मौलिक रूप से गलत है। कोई भी उपयोगकर्ता अपने होस्ट के लिए हेडर मान निर्दिष्ट कर सकता है। आपको यह भी समझना चाहिए कि आपको किस आईपी की आवश्यकता है। उदाहरण के लिए, HTTP_X_FORWARDED_FOR मान में दूरस्थ क्लाइंट का पता, उसकी प्रॉक्सी शामिल है, या पूरी तरह से खाली हो सकता है। संक्षेप में, इसे एक से अधिक शाम तक सुलझाने के लिए पर्याप्त होगा।

जहां तक ​​उपयोगकर्ता के ब्राउज़र का सवाल है, आप get_browser() फ़ंक्शन का उपयोग करके इसे निर्धारित करने का प्रयास कर सकते हैं। लेकिन क्लाइंट साइड पर इसका उपयोग करने के लिए, browscap.ini का पथ php.ini फ़ाइल में निर्दिष्ट होना चाहिए। अन्यथा आपको इस प्रकार की चेतावनी प्राप्त होगी:

उपयोगकर्ता का देश और बहुत कुछ पता करें

अब, PHP का उपयोग करके, हम IP द्वारा देश का निर्धारण करेंगे। लेकिन पहले, आइए इस क्षेत्र के सभी समाधानों की समीक्षा करें। इनमें से अधिकांश स्क्रिप्ट वैश्विक सरणी तत्व $_SERVER REMOTE_ADDR का उपयोग करती हैं जिसका हमने उल्लेख किया है। अब सबसे महत्वपूर्ण हिस्सा आता है.

आप पहले से ही उपयोग कर सकते हैं, जिसमें प्राप्त आईपी को उसके मूल्य के आधार पर क्रमबद्ध किया जाता है। मुझे आशा है कि यह आपके लिए कोई रहस्य नहीं है कि यह मान ग्राहक (होस्ट) को उसके भौगोलिक स्थान के आधार पर सौंपा गया है: देश, शहर और उपयोगकर्ता के निवास का क्षेत्र। सभी कार्यक्षमताएँ इन श्रेणियों के विश्लेषण पर आधारित हैं।

ip-whois.net जैसी विभिन्न तृतीय-पक्ष सेवाओं का भी उपयोग किया जाता है। स्क्रिप्ट का उपयोग करके, आप आईपी मान पास करते हैं, और यह आपको होस्ट के स्थान के बारे में डेटा लौटाता है।

इसके अलावा, कुछ विशेष पुस्तकालय अपने स्वयं के डेटाबेस के साथ आते हैं, जिनकी तालिकाओं में (भूगोल के अनुसार) क्रमबद्ध सभी आईपी श्रेणियां शामिल होती हैं। मैं उन्हें सूचीबद्ध नहीं करूंगा. अब इंटरनेट पर इनकी बहुतायत है।

आप तय करें। तृतीय-पक्ष सेवा का उपयोग करने से संसाधन लागत और आपकी वेबसाइट पर भार कम हो जाएगा। वहीं, डेटाबेस के साथ लाइब्रेरी का उपयोग करने से कनेक्शन संबंधी समस्याएं खत्म हो जाएंगी।

निम्न स्क्रिप्ट IP PHP द्वारा क्षेत्र निर्धारित करने के लिए TabGeo लाइब्रेरी का उपयोग करती है। अब इसका आधिकारिक संसाधन काम नहीं कर रहा है. मैंने GitHub से लाइब्रेरी डाउनलोड की, लेकिन केवल कंट्री.php फ़ाइल का उपयोग किया। यह उपयोगकर्ता के निवास के देश को निर्धारित करने के लिए प्राप्त आईपी का उपयोग करता है। और फिर (आईएसओ कोड का उपयोग करके) आप साइट के विभिन्न पृष्ठों पर रीडायरेक्ट लागू कर सकते हैं: