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

Ես ուզում եմ մի փոքր ավելացնել այս գրառմանը (խմբագրվել է 18.02.2017թ.):

Վերոնշյալ սցենարն օգտագործելիս շատ քաղաքներում և բրաուզերներում պարզապես ոչինչ չէր ցուցադրվում, և երկար փնտրտուքներից հետո ես գտա, հավանաբար, ամենաարդյունավետ սկրիպտը Yandex API-ի միջոցով երկիրը, տարածաշրջանը, քաղաքը որոշելու համար: Ես փորձարկեցի այն իմ հաճախորդների միջոցով, որոնք գտնվում են գրեթե ողջ Ռուսաստանում և նրա սահմաններից դուրս, և այս սցենարը ցույց տվեց, որ գերազանց է: Ահա իմ հաճախորդի սքրինշոթը.

Դուք հասկանում եք, որ ամեն ինչ հստակ սահմանված է: Դե, ես ձեզ չեմ տանջի գրություններով և ձեզ օրինակ կտամ:

js Երկրի, տարածաշրջանի, քաղաքի որոշում Yandex API-ի միջոցով

Պարզապես տեղադրեք այս կոդը պիտակների միջև




$(document).ready(function())(
ymaps.ready(function())(
var geolocation = ymaps.geolocation;
$("#cou").html("Ձեր երկիրը. "+geolocation.country);
$("#tow").html("Ձեր քաղաքը. "+geolocation.city);
$("#reg").html("Ձեր տարածաշրջանը. "+geolocation.region);
});
});

Եվ այս կոդը ձեր էջի ճիշտ տեղում.

Ձեր երկիրը՝ ... վճռական...
Ձեր քաղաքը՝ ... վճռական...
Ձեր տարածաշրջանը՝ ... որոշված...

Ցույց

Ձեր երկիրը՝ ... վճռական է...

Ձեր քաղաքը՝ ... վճռական...

Ձեր տարածաշրջանը՝ ... որոշված...

Սցենարն աշխատում է առանց խնդիրների, բայց հնարավոր է, որ նրանց համար, ովքեր գտնվում են փոքր գյուղերում, քաղաքը, ամենայն հավանականությամբ, սխալ կորոշվի, և որոշվի ձեր ինտերնետ մատակարարի քաղաքը:

Հեղինակից՝ ինտերնետում ձեր անունն ու ազգանունը ոչինչ չի նշանակում։ Այստեղ IP-ն օգտագործվում է օգտվողին որոշելու համար: Իմանալով դա՝ դուք կարող եք որոշել մարդու բնակության քաղաքը և երկիրը, օգտագործված բրաուզերը… Չե՞ք հավատում ինձ: Այս ամենը դուք կհասկանաք, երբ ուսումնասիրեք IP-ի սահմանումը PHP-ում։

IP և ավելին

PHP-ում օգտագործողի ցանցի տեղեկատվությունը ստանալու համար կա $_SERVER գլոբալ զանգված: Եկեք ցուցադրենք դրա բովանդակությունը էկրանին.

Այժմ մենք գիտենք, որ IP-ն գրանցված է REMOTE_ADDR-ում: որտեղի՞ց է այն գալիս: Հաճախորդն այս բոլոր տվյալները ուղարկում է կապի հաստատման ժամանակ: Այս փոփոխականը դրված է հաճախորդի կողմից սերվերի կարգավորումներում:

Որոշ մարդիկ օգտագործում են HTTP վերնագրի արժեքները՝ քաղաքը IP-ով որոշելու համար PHP-ում, բայց դա սկզբունքորեն սխալ է: Ցանկացած օգտվող կարող է նշել վերնագրի արժեքները իր հոսթի համար: Դուք նաև պետք է հասկանաք, թե ինչ IP է Ձեզ անհրաժեշտ։ Օրինակ, HTTP_X_FORWARDED_FOR արժեքը պարունակում է հեռավոր հաճախորդի, նրա վստահված անձի հասցեն կամ կարող է ամբողջովին դատարկ լինել: Մի խոսքով, այս ամենը մեկից ավելի երեկո դասավորելու համար բավական կլինի:

Ինչ վերաբերում է օգտատիրոջ բրաուզերին, կարող եք փորձել որոշել այն օգտագործելով get_browser() ֆունկցիան։ Բայց այն հաճախորդի կողմից օգտագործելու համար php.ini ֆայլում պետք է նշվի դեպի browscap.ini ուղին: Հակառակ դեպքում դուք կստանաք այսպիսի նախազգուշացում.

Պարզեք օգտատիրոջ երկիրը և ավելին

Այժմ, օգտագործելով PHP, մենք կորոշենք երկիրը IP-ով: Բայց նախ, եկեք վերանայենք այս ոլորտում առկա բոլոր լուծումները: Այս սկրիպտներից շատերն օգտագործում են մեր նշած $_SERVER REMOTE_ADDR գլոբալ զանգվածի տարրը: Հիմա գալիս է ամենակարևոր մասը.

Դուք կարող եք օգտագործել արդեն, որում ստացված IP-ն ուղղակի տեսակավորված է՝ կախված դրա արժեքից։ Հուսով եմ, որ ձեզ համար գաղտնիք չէ, որ այս արժեքը վերագրվում է հաճախորդին (հյուրընկալողին)՝ կախված նրա աշխարհագրական դիրքից՝ օգտագործողի բնակության երկիրը, քաղաքը և շրջանը: Ամբողջ ֆունկցիոնալությունը հիմնված է այս միջակայքերի վերլուծության վրա:

Օգտագործվում են նաև երրորդ կողմի տարբեր ծառայություններ, ինչպիսիք են ip-whois.net-ը: Օգտագործելով սկրիպտը, դուք փոխանցում եք IP արժեքը, և այն ձեզ վերադարձնում է տվյալներ հոսթի գտնվելու վայրի մասին:

Բացի այդ, որոշ մասնագիտացված գրադարաններ գալիս են իրենց սեփական տվյալների բազայով, որոնց աղյուսակները պարունակում են բոլոր IP միջակայքերը դասավորված (ըստ աշխարհագրության): Ես դրանք չեմ թվարկի: Այժմ դրանք շատ են ինտերնետում:

Դու որոշիր։ Երրորդ կողմի ծառայության օգտագործումը կնվազեցնի ռեսուրսների ծախսերը և ձեր կայքի բեռը: Միևնույն ժամանակ, գրադարանը տվյալների բազայի հետ օգտագործելը կվերացնի կապի խնդիրները:

Հետևյալ սկրիպտը օգտագործում է TabGeo գրադարանը՝ IP PHP-ով տարածաշրջանը որոշելու համար: Այժմ նրա պաշտոնական ռեսուրսը չի աշխատում։ Ես ներբեռնեցի գրադարանը GitHub-ից, բայց օգտագործեցի միայն country.php ֆայլը: Այն օգտագործում է ստացված IP-ն՝ օգտատիրոջ բնակության երկիրը որոշելու համար: Եվ այնուհետև (օգտագործելով ISO կոդը) կարող եք իրականացնել վերահղումներ դեպի կայքի տարբեր էջեր.