IP orqali operatorni aniqlash uchun Php skripti. Sypex Geo - IP orqali shaharni tezkor aniqlash. Foydalanuvchining mamlakatini va boshqalarni bilib oling

Doʻkon konvertatsiyasini yaxshilash uchun tashrif buyuruvchi shahrini koʻrsating. Shahar, viloyat va mamlakatni ko'rsatuvchi saytning istalgan joyida tayyor qo'shish kodi. Men juda ko'p skriptlarni sinab ko'rdim, lekin bu eng oddiy va eng samarali bo'lib chiqdi! Men undan www.mzm-market.ru veb-saytini yaratishda foydalanardim, u erda skriptda "______gacha yetkazib berish" ko'rsatiladi.

Quyidagi kodni index.tpl (yoki yetkazib berish sahifasi) ga istalgan joyga joylashtiring:



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


Chiqish quyidagilar yordamida amalga oshiriladi:

// mamlakat, shahar, viloyat.
geolocation.mamlakat, geolocation.shahar, geolocation.region

Men ushbu xabarga ozgina qo'shimcha qilmoqchiman (2017 yil 18 fevralda tahrirlangan).

Yuqoridagi skriptni ishlatganda, ko'plab shaharlar va brauzerlarda hech narsa ko'rsatilmadi va uzoq qidiruvdan so'ng men Yandex API orqali mamlakatni, mintaqani, shaharni aniqlash uchun eng samarali skriptni topdim. Men buni deyarli butun Rossiya va undan tashqarida joylashgan mijozlarim orqali sinab ko'rdim va bu skript o'zini juda yaxshi ko'rsatdi! Mana mening mijozimning skrinshoti:

Siz hamma narsa aniq belgilanganligini tushunasiz! Xo'sh, men sizni yozuvlar bilan qiynamayman va sizga misol keltiraman!

js Yandex API orqali mamlakat, mintaqa, shaharni aniqlash

Faqatgina ushbu kodni teglar orasiga qo'ying




$(hujjat).ready(funksiya())(
ymaps.ready(funksiya())(
var geolocation = ymaps.geolocation;
$("#cou").html("Mamlakatingiz: "+geolocation.country);
$("#tow").html("Sizning shahringiz: "+geolocation.city);
$("#reg").html("Sizning hududingiz: "+geolocation.region);
});
});

Va bu kod sahifangizning to'g'ri joyida:

Mamlakatingiz: ... qat'iy...
Sizning shahringiz: ... qat'iy ...
Mintaqangiz: ... aniqlangan...

Namoyish

Mamlakatingiz: ... qat'iy...

Sizning shahringiz: ... qat'iy ...

Mintaqangiz: ... aniqlangan...

Skript muammosiz ishlaydi, ammo kichik qishloqlarda bo'lganlar uchun shahar noto'g'ri aniqlanishi va Internet-provayderingizning shahri aniqlanishi mumkin.

Muallifdan: Internetda sizning ismingiz va familiyangiz hech narsani anglatmaydi. Bu erda IP foydalanuvchini aniqlash uchun ishlatiladi. Buni bilib, siz shaxsning shahri va mamlakatini, foydalanilgan brauzerni aniqlashingiz mumkin.... Menga ishonmaysizmi? Bularning barchasini PHPda IP ta'rifini o'rganganingizda tushunasiz.

IP va boshqalar

PHP da foydalanuvchining tarmoq maʼlumotlarini olish uchun $_SERVER global massivi mavjud. Keling, uning mazmunini ekranda ko'rsatamiz:

Endi biz IP REMOTE_ADDR da yozilganligini bilamiz. U qayerdan keladi? Mijoz ushbu ma'lumotlarni ulanishni o'rnatish vaqtida yuboradi. Ushbu o'zgaruvchi mijoz tomonidagi server sozlamalarida o'rnatiladi.

Ba'zi odamlar PHPda IP bo'yicha shaharni aniqlash uchun HTTP sarlavhasi qiymatlaridan foydalanadilar, ammo bu tubdan noto'g'ri. Har qanday foydalanuvchi o'z hosti uchun sarlavha qiymatlarini belgilashi mumkin. Shuningdek, sizga qanday IP kerakligini tushunishingiz kerak. Misol uchun, HTTP_X_FORWARDED_FOR qiymati masofaviy mijozning manzilini, uning proksi-serverini o'z ichiga oladi yoki butunlay bo'sh bo'lishi mumkin. Muxtasar qilib aytganda, bir kechadan ko'proq vaqt davomida buni tartibga solish uchun etarli bo'ladi.

Foydalanuvchining brauzeriga kelsak, uni get_browser() funksiyasi yordamida aniqlashga urinib ko'rishingiz mumkin. Lekin uni mijoz tomonida ishlatish uchun browscap.ini yo'li php.ini faylida ko'rsatilishi kerak. Aks holda siz quyidagi kabi ogohlantirish olasiz:

Foydalanuvchining mamlakatini va boshqalarni bilib oling

Endi PHP dan foydalanib, biz IP bo'yicha mamlakatni aniqlaymiz. Lekin birinchi navbatda, ushbu sohadagi barcha echimlarni ko'rib chiqaylik. Ushbu skriptlarning aksariyati biz aytib o'tgan $_SERVER REMOTE_ADDR global massiv elementidan foydalanadi. Endi eng muhim qism keladi.

Siz allaqachon foydalanishingiz mumkin, unda olingan IP oddiygina qiymatiga qarab tartiblanadi. Umid qilamanki, bu qiymat mijozga (xostga) uning geolokatsiyasiga qarab belgilanadi: mamlakat, shahar va foydalanuvchining yashash joyi. Barcha funksionallik ushbu diapazonlarni tahlil qilishga asoslangan.

Shuningdek, ip-whois.net kabi uchinchi tomon xizmatlaridan foydalaniladi. Skriptdan foydalanib, siz IP qiymatini o'tkazasiz va u sizga xostning joylashuvi haqidagi ma'lumotlarni qaytaradi.

Bundan tashqari, ba'zi ixtisoslashtirilgan kutubxonalar o'zlarining ma'lumotlar bazasiga ega bo'lib, ularning jadvallarida (geografiya bo'yicha) saralangan barcha IP diapazonlari mavjud. Men ularni ro'yxatga kiritmayman. Hozir Internetda ular juda ko'p.

Sen Qaror qabul qil. Uchinchi tomon xizmatidan foydalanish resurs xarajatlarini va veb-saytingizdagi yukni kamaytiradi. Shu bilan birga, kutubxonadan ma'lumotlar bazasi bilan foydalanish ulanish muammolarini bartaraf etadi.

Quyidagi skript IP PHP orqali mintaqani aniqlash uchun TabGeo kutubxonasidan foydalanadi. Endi uning rasmiy resursi ishlamayapti. Men kutubxonani GitHub'dan yuklab oldim, lekin faqat country.php faylidan foydalandim. U foydalanuvchining yashash mamlakatini aniqlash uchun qabul qilingan IP-dan foydalanadi. Va keyin (ISO kodidan foydalanib) saytning turli sahifalariga yo'naltirishni amalga oshirishingiz mumkin: