Php script para sa pagtukoy ng operator sa pamamagitan ng ip. Sypex Geo - mabilis na pagkakakilanlan ng isang lungsod sa pamamagitan ng IP. Alamin ang bansa ng gumagamit at higit pa

Ipakita ang lungsod ng bisita upang mapabuti ang mga rate ng conversion ng tindahan. Ready-made insertion code saanman sa site na nagsasaad ng lungsod, rehiyon at bansa. Sinubukan ko ang maraming mga script, ngunit ang isang ito ay naging pinakasimpleng at pinaka-epektibo! Ginamit ko ito sa paggawa ng website na www.mzm-market.ru, kung saan ipinapakita ng script ang "paghahatid sa______"

I-paste ang sumusunod na code sa index.tpl (o sa pahina ng paghahatid) sa anumang gustong lugar:



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


Ang output ay ginawa gamit ang:

// bansa, lungsod, rehiyon.
geolocation.country, geolocation.city, geolocation.region

Nais kong magdagdag ng kaunti sa post na ito (na-edit noong Pebrero 18, 2017).

Kapag ginagamit ang script sa itaas, sa maraming mga lungsod at mga browser ay walang ipinakita, at pagkatapos ng mahabang paghahanap nakita ko marahil ang pinaka mahusay na script para sa pagtukoy ng isang bansa, rehiyon, lungsod sa pamamagitan ng Yandex API. Sinubukan ko ito sa pamamagitan ng aking mga kliyente, na matatagpuan halos sa buong Russia at higit pa, at ipinakita ng script na ito na napakahusay nito! Narito ang isang screenshot ng aking kliyente:

Naiintindihan mo na ang lahat ay malinaw na tinukoy! Buweno, hindi kita pahihirapan ng mga sulatin at bibigyan kita ng isang halimbawa!

js Pagpapasiya ng bansa, rehiyon, lungsod sa pamamagitan ng Yandex API

I-paste lang ang code na ito sa pagitan ng mga tag




$(dokumento).ready(function())(
ymaps.ready(function())(
var geolocation = ymaps.geolocation;
$("#cou").html("Iyong bansa: "+geolocation.country);
$("#tow").html("Iyong lungsod: "+geolocation.city);
$("#reg").html("Iyong rehiyon: "+geolocation.region);
});
});

At ang code na ito sa tamang lugar sa iyong pahina:

Ang iyong bansa: ... determinado...
Ang iyong lungsod: ... determinado...
Iyong rehiyon: ... tinutukoy...

Pagpapakita

Ang iyong bansa: ... determinado...

Ang iyong lungsod: ... determinado...

Iyong rehiyon: ... tinutukoy...

Gumagana ang script nang walang problema, ngunit posible na para sa mga nasa maliliit na nayon, ang lungsod ay malamang na matukoy nang hindi tama, at ang lungsod ng iyong Internet provider ay matutukoy.

Mula sa may-akda: sa Internet, ang iyong una at apelyido ay walang ibig sabihin. Dito ginagamit ang IP upang matukoy ang gumagamit. Alam ito, maaari mong matukoy ang lungsod at bansang tinitirhan ng isang tao, ang browser na ginamit…. Huwag maniwala sa akin? Maiintindihan mo ang lahat ng ito kapag pinag-aralan mo ang kahulugan ng IP sa PHP.

IP at higit pa

Upang makuha ang impormasyon ng network ng gumagamit sa PHP, mayroong isang pandaigdigang array $_SERVER. Ipakita natin ang mga nilalaman nito sa screen:

Ngayon alam namin na ang IP ay naitala sa REMOTE_ADDR. Saan ito nanggaling? Ipinapadala ng kliyente ang lahat ng data na ito sa panahon ng pagtatatag ng koneksyon. Ang variable na ito ay nakatakda sa mga setting ng server sa panig ng kliyente.

Ang ilang mga tao ay gumagamit ng mga halaga ng header ng HTTP upang matukoy ang isang lungsod sa pamamagitan ng IP sa PHP, ngunit ito ay sa panimula ay hindi tama. Maaaring tukuyin ng sinumang user ang mga halaga ng header para sa kanilang host. Dapat mo ring maunawaan kung anong IP ang kailangan mo. Halimbawa, ang halaga ng HTTP_X_FORWARDED_FOR ay naglalaman ng address ng malayuang kliyente, ang proxy nito, o maaaring ganap na walang laman. Sa madaling salita, magkakaroon ng sapat na upang ayusin ito para sa higit sa isang gabi.

Tulad ng para sa browser ng gumagamit, maaari mong subukang tukuyin ito gamit ang get_browser() function. Ngunit upang magamit ito sa panig ng kliyente, ang path sa browscap.ini ay dapat na tinukoy sa php.ini file. Kung hindi, makakatanggap ka ng babala tulad nito:

Alamin ang bansa ng gumagamit at higit pa

Ngayon, gamit ang PHP, tutukuyin natin ang bansa sa pamamagitan ng IP. Ngunit una, suriin natin ang lahat ng mga solusyon sa lugar na ito. Karamihan sa mga script na ito ay gumagamit ng global array element na $_SERVER REMOTE_ADDR na aming binanggit. Dumating na ngayon ang pinakamahalagang bahagi.

Magagamit mo na, kung saan ang natanggap na IP ay simpleng pinagsunod-sunod depende sa halaga nito. Umaasa ako na hindi lihim sa iyo na ang halagang ito ay itinalaga sa kliyente (host) depende sa geolocation nito: bansa, lungsod at rehiyon ng paninirahan ng gumagamit. Nakabatay ang lahat ng functionality sa pagsusuri ng mga saklaw na ito.

Ginagamit din ang iba't ibang serbisyo ng third-party tulad ng ip-whois.net. Gamit ang script, ipinapasa mo ang halaga ng IP, at ibinabalik nito sa iyo ang data tungkol sa lokasyon ng host.

Bilang karagdagan, ang ilang mga espesyal na aklatan ay may sariling database, ang mga talahanayan na naglalaman ng lahat ng mga hanay ng IP na pinagsunod-sunod (ayon sa heograpiya). Hindi ko sila ililista. Marami na sila sa Internet ngayon.

Ikaw ang magdesisyon. Ang paggamit ng isang third-party na serbisyo ay mababawasan ang mga gastos sa mapagkukunan at ang pag-load sa iyong website. Kasabay nito, ang paggamit ng library na may database ay mag-aalis ng mga problema sa koneksyon.

Ang sumusunod na script ay gumagamit ng TabGeo library upang matukoy ang rehiyon sa pamamagitan ng IP PHP. Ngayon ang opisyal na mapagkukunan nito ay hindi gumagana. Na-download ko ang library mula sa GitHub, ngunit ginamit lang ang country.php file. Ginagamit nito ang natanggap na IP upang matukoy ang bansang tinitirhan ng user. At pagkatapos (gamit ang ISO code) maaari mong ipatupad ang mga pag-redirect sa iba't ibang mga pahina ng site: