php-ൽ ip ഉപയോഗിച്ച് നഗരം നിർണ്ണയിക്കുന്നു. PHP - IP വഴി ഉപയോക്തൃ ജിയോ വിവരങ്ങൾ സ്വീകരിക്കുക. ഇതര ലൈബ്രറികൾ ഉപയോഗിച്ച് പിഎച്ച്പിയിൽ ഐപി പ്രകാരം ഒരു നഗരം നിർണ്ണയിക്കുന്നു

നിങ്ങളുടെ വെബ്‌സൈറ്റിനായി നിങ്ങളുടേതായ സന്ദർശക സ്ഥിതിവിവരക്കണക്കുകൾ നിർമ്മിക്കാൻ പോകുകയാണെങ്കിൽ, നിങ്ങളുടെ സന്ദർശകർ ഏത് രാജ്യത്ത് നിന്നാണ് വരുന്നതെന്ന് അറിയാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം. സന്ദർശകൻ്റെ IP വിലാസം ഉപയോഗിച്ച് നിങ്ങൾക്ക് അവൻ്റെ രാജ്യം കണ്ടെത്താൻ കഴിയും, ഈ ലേഖനത്തിൽ PHP വഴി ഇത് എങ്ങനെ ചെയ്യാമെന്ന് ഞങ്ങൾ നോക്കും.

PHP വഴി IP വിലാസം ഉപയോഗിച്ച് രാജ്യം കണ്ടെത്താൻ രണ്ട് വഴികളുണ്ട്. ചില WHOIS സേവനം ഉപയോഗിക്കുക, അതിലേക്ക് ഒരു അഭ്യർത്ഥന അയയ്ക്കുകയും അതിൽ നിന്ന് ഒരു പ്രതികരണം സ്വീകരിക്കുകയും ചെയ്യുക എന്നതാണ് ആദ്യ മാർഗം. രണ്ടാമത്തെ ഓപ്ഷൻ ഡാറ്റാബേസിൽ നിങ്ങളുടെ സ്വന്തം പട്ടിക സൃഷ്ടിക്കുക എന്നതാണ്, അതിൽ IP വിലാസങ്ങളും രാജ്യങ്ങളും തമ്മിലുള്ള കത്തിടപാടുകൾ അടങ്ങിയിരിക്കും. ഒന്നും രണ്ടും രീതികളുടെ ഗുണദോഷങ്ങൾ വ്യക്തമാണ്, അതിനാൽ ഞാൻ അവയിൽ വസിക്കുകയില്ല. രണ്ടാമത്തെ നടപ്പാക്കൽ രീതി നിങ്ങളുടെ ഡാറ്റാബേസിനെയും ഐപി വിലാസങ്ങളും രാജ്യങ്ങളും തമ്മിലുള്ള കത്തിടപാടുകൾ സ്ഥിതി ചെയ്യുന്ന പട്ടികയെയും ആശ്രയിച്ചിരിക്കുന്നു. അതിനാൽ, ഞങ്ങൾ ആദ്യ രീതി പരിഗണിക്കും, കാരണം ഇത് സാർവത്രികമാണ്, എന്നിരുന്നാലും, ഇൻ്റർനെറ്റ് കണക്ഷൻ ഇല്ലാതെ ഒരു പ്രാദേശിക സെർവറിൽ നിങ്ങൾക്ക് ഈ സ്ക്രിപ്റ്റ് പരീക്ഷിക്കാൻ കഴിയില്ല:

ചുരുക്കത്തിൽ, തത്വം: ഞങ്ങൾ ഒരു സേവനം കണ്ടെത്തുന്നു, ഒരു അഭ്യർത്ഥന എങ്ങനെ അയയ്ക്കാമെന്ന് നോക്കുക (വേരിയബിളുകൾ എന്താണ് വിളിക്കുന്നത്, ഏത് രീതിയാണ് അയയ്‌ക്കാൻ ഉപയോഗിക്കുന്നത്), cURL വഴി ഒരു അഭ്യർത്ഥന അയയ്‌ക്കുക, ഒരു പ്രതികരണം സ്വീകരിക്കുക, സാധാരണ പദപ്രയോഗങ്ങൾ ഉപയോഗിച്ച് ആവശ്യമുള്ള ലൈൻ എക്‌സ്‌ട്രാക്റ്റുചെയ്യുക , ഫലം പ്രദർശിപ്പിക്കുക. നിങ്ങൾ ഈ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ, നിങ്ങളുടെ IP വിലാസം ഉൾപ്പെടുന്ന രാജ്യത്തിൻ്റെ പേര് നിങ്ങൾ കാണും. എന്നിരുന്നാലും, ഓരോ ഐപി വിലാസത്തിനും രാജ്യം കണ്ടെത്തുന്നത് സാധ്യമല്ല എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്. ഇത് ഒരു പ്രത്യേക WHOIS സേവനം ഉപയോഗിക്കുന്ന ഡാറ്റാബേസിനെ ആശ്രയിച്ചിരിക്കുന്നു. ഈ സ്‌ക്രിപ്റ്റ് പരീക്ഷിക്കുന്നതിന്, നിങ്ങൾ ഇത് ഒരു വിദൂര സെർവറിലേക്ക് അപ്‌ലോഡ് ചെയ്യേണ്ടതുണ്ട്, അതുവഴി IP വിലാസം പകരം വയ്ക്കാതിരിക്കുക: 127.0.0.1, ഇത് പ്രവർത്തിക്കില്ല, കാരണം അതിന് രാജ്യമില്ല. അല്ലെങ്കിൽ $ip വേരിയബിളിൻ്റെ മൂല്യം മറ്റേതെങ്കിലും IP വിലാസം ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുക. നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, എല്ലാം വളരെ ലളിതമാണ്, ഇവിടെ പ്രധാന കാര്യം രണ്ട് രീതികളിൽ ഒന്ന് വ്യക്തമായി തിരഞ്ഞെടുക്കുക എന്നതാണ്. നിങ്ങളുടെ ഡാറ്റാബേസ് വഴി IP വിലാസം ഉപയോഗിച്ച് ഒരു രാജ്യം കണ്ടെത്തണമെങ്കിൽ, ആദ്യം നിങ്ങൾ അത് കണ്ടെത്തേണ്ടതുണ്ട്. അവയിൽ ധാരാളം ഉണ്ട്, അതിനാൽ ഇൻ്റർനെറ്റിൽ അവ തിരയുക. കൂടാതെ, WHOIS സേവനം ഉപയോഗിക്കുന്നതിൽ നിങ്ങൾ തൃപ്തനാണെങ്കിൽ, നിങ്ങളുടെ സെർവർ ഉറവിടങ്ങളും ഡാറ്റാബേസിൽ സ്ഥലവും സംരക്ഷിക്കുന്നുവെങ്കിൽ, നിങ്ങൾക്ക് മുകളിലുള്ള കോഡ് ഉപയോഗിക്കാം, കൂടാതെ പതിവ് എക്സ്പ്രഷൻ പരിഷ്ക്കരിക്കുന്നതിലൂടെ, ഈ സേവനം നിർമ്മിക്കുന്ന മറ്റ് ഡാറ്റ നിങ്ങൾക്ക് പിൻവലിക്കാം, ഉദാഹരണത്തിന്, നഗരം.

എല്ലാവർക്കും ഹായ്!

ഞാൻ അത് പലപ്പോഴും പറയില്ല, എന്നാൽ കാലാകാലങ്ങളിൽ ഡവലപ്പർമാർ ഒരു PHP സ്ക്രിപ്റ്റിൽ IP വഴി ഒരു നഗരം നിർണ്ണയിക്കേണ്ടതുണ്ട്.

ഉദാഹരണത്തിന്, ഒരു ഓൺലൈൻ സ്റ്റോറിൽ ഓർഡർ നൽകുമ്പോൾ ഉപയോക്താവിന് ബന്ധപ്പെടാനുള്ള വിവരങ്ങൾ നൽകുന്നത് എളുപ്പമാക്കാൻ നിങ്ങൾ തീരുമാനിച്ചു. അല്ലെങ്കിൽ നിങ്ങളുടെ സൈറ്റിലേക്ക് സന്ദർശകൻ വന്ന രാജ്യം അനുസരിച്ച് സൈറ്റ് ഇൻ്റർഫേസ് ഭാഷ സജ്ജീകരിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നു.

ഉപയോക്താക്കൾക്ക് അവരുടെ ഭൂമിശാസ്ത്രപരമായ സ്ഥാനം അനുസരിച്ച് ടാർഗെറ്റുചെയ്‌ത പരസ്യം നൽകുന്നതിന്, മിക്കപ്പോഴും, ജിയോഐപി ഉപയോഗിച്ച് പിഎച്ച്പിയിൽ ഐപി ഉപയോഗിച്ച് ഒരു നഗരം നിർണ്ണയിക്കുന്നത് വിവിധ പരസ്യ ശൃംഖലകളുടെ ഡെവലപ്പർമാർക്ക് ആവശ്യമായി വന്നേക്കാം.

വിവിധ രാജ്യങ്ങളിൽ നിന്നുള്ള ഉപയോക്താക്കൾക്കായി സൈറ്റിലേക്ക് വിവിധ സോഷ്യൽ നെറ്റ്‌വർക്കുകളുടെ വിജറ്റുകൾ അപ്‌ലോഡ് ചെയ്യാൻ ഞാൻ തീരുമാനിച്ചപ്പോൾ, ഒരു തവണ പിഎച്ച്പി സ്‌ക്രിപ്റ്റിൽ ഐപി ഉപയോഗിച്ച് രാജ്യം കണ്ടെത്തേണ്ടതുണ്ട്. എന്തുകൊണ്ടാണ് ഇത് ആവശ്യമില്ലാത്തതെന്നും അവസാനം എന്താണ് സംഭവിച്ചതെന്നും അടുത്ത ലേഖനത്തിൽ ഞാൻ കൂടുതൽ എഴുതാം.

അതിനിടയിൽ, പിഎച്ച്പിയിൽ ഐപി പ്രകാരം ഒരു നഗരവും രാജ്യവും നിർണ്ണയിക്കാൻ എത്ര വഴികളുണ്ടെന്നും അവ നടപ്പിലാക്കുന്നതിനുള്ള ഓപ്ഷനുകൾ എന്താണെന്നും നമുക്ക് സംസാരിക്കാം.

PHP GeoIP - സാധാരണ മൂന്നാം കക്ഷി പ്രവർത്തനം

ആദ്യ രീതിയുടെ വിവരണത്തിന് ഞാൻ പ്രത്യേകമായി ഈ രീതിയിൽ തലക്കെട്ട് നൽകി. പിഎച്ച്പിയിൽ തന്നെ ഐപി വിലാസം ഉപയോഗിച്ച് നഗരവും രാജ്യവും നിർണ്ണയിക്കുന്നത് അസാധ്യമാണ് എന്നതാണ് വസ്തുത - ഭാഷയ്ക്ക് ഇതിന് ആവശ്യമായ ഉപകരണങ്ങൾ ഇല്ല.
എന്നാൽ ഔദ്യോഗിക ഡോക്യുമെൻ്റേഷനിൽ ഇത് എങ്ങനെ ചെയ്യാമെന്നതിനെക്കുറിച്ചുള്ള സൂചനയുണ്ട്.

PHP GeoIP എന്നത് ഒരു മൂന്നാം കക്ഷി ലൈബ്രറിയാണ്, അതിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന പ്രവർത്തനങ്ങളുടെ വിവരണം ഔദ്യോഗിക PHP ഡോക്യുമെൻ്റേഷൻ്റെ ഭാഗമാണെങ്കിലും - http://php.net/manual/ru/ref.geoip .php

തത്വത്തിൽ, PHP ഡവലപ്പർമാരുടെ ഉദ്ദേശ്യങ്ങൾ വളരെ വ്യക്തമാണ്.

ഒന്നാമതായി, ഈ മൊഡ്യൂൾ ഭാഷാ കിറ്റിൽ തന്നെ ഉൾപ്പെടുത്തുന്നതിന് വലിയ അളവിലുള്ള സെർവർ ഉറവിടങ്ങൾ ആവശ്യമാണ്.

രണ്ടാമതായി, നിർദ്ദിഷ്ട രാജ്യങ്ങൾക്കും നഗരങ്ങൾക്കും അനുയോജ്യമായ ഐപി വിലാസങ്ങളുടെ ഒരു ലിസ്റ്റ് അടിസ്ഥാനമാക്കിയാണ് ജിയോഐപി പിഎച്ച്പി പ്രവർത്തിക്കുന്നത്. അതിനാൽ, ജിയോഐപി പിഎച്ച്പിക്ക് നിലവിലുള്ള ഡാറ്റാബേസിൻ്റെ നിരന്തരമായ പിന്തുണയും വിപുലീകരണവും/ആധുനികവൽക്കരണവും ആവശ്യമാണ്, ഇത് പിഎച്ച്പി ഡെവലപ്പർമാർക്ക് ഒരു അധിക തലവേദനയാകും.

ശരി, മൂന്നാമതായി, PHP-യിൽ ഐപി ഉപയോഗിച്ച് ഒരു നഗരം നിർണ്ണയിക്കുന്നത് പ്രായോഗികമായി വളരെ അപൂർവ്വമായി ഉപയോഗിക്കുന്ന ഒരു സവിശേഷതയാണ്.

തൽഫലമായി, ഈ ഘടകങ്ങൾ കാരണം, PHP GeoIP ഒരു മൂന്നാം കക്ഷി വിപുലീകരണമാണ്, അതിൻ്റെ പിന്തുണയും നിലവിലുള്ള സൈറ്റുകളിൽ സംയോജനത്തിനായി ഒരു API സൃഷ്ടിക്കുന്നതും MaxMind കമ്പനിയാണ്, അതിലേക്കുള്ള ഒരു ലിങ്ക് വിവരണത്തിൽ ഉണ്ട്. ഈ ലൈബ്രറിയുടെ.

സെർവറിൽ ഇത് ഇൻസ്റ്റാൾ ചെയ്യുന്ന പ്രക്രിയ ഞാൻ വിവരിക്കുന്നില്ല, കാരണം... ഞാൻ തന്നെ ഇത് പ്രായോഗികമായി ചെയ്തിട്ടില്ല, കൂടാതെ ലിനക്സിലും വിൻഡോസ് സെർവറുകളിലും പിഎച്ച്പി ജിയോഐപി ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള മാനുവലുകൾ ഇൻ്റർനെറ്റിൽ നിറഞ്ഞിരിക്കുന്നു.

PHP-യിലെ IP വഴി നഗരം, രാജ്യം, മറ്റ് ജിയോ വിവരങ്ങൾ എന്നിവ നിർണ്ണയിക്കുന്ന ഈ രീതിക്ക് രണ്ട് പ്രധാന ദോഷങ്ങളുണ്ടെന്ന് മാത്രമേ എനിക്ക് പറയാൻ കഴിയൂ:

  • MaxMind നൽകുന്ന IP വിലാസങ്ങളെക്കുറിച്ചുള്ള പൂർണ്ണ വിവരങ്ങളുടെ ഡാറ്റാബേസിലേക്കുള്ള ആക്‌സസ് പണമടച്ചിരിക്കുന്നു. മാത്രമല്ല, തുക ഡോളറിലാണ്, വിചിത്രമായി മതി :) ഗണ്യമായി കുറച്ച ഓപ്ഷനുകൾ മാത്രമേ സൗജന്യമായി ലഭ്യമാകൂ - http://dev.maxmind.com/geoip/geoip2/geolite2/
  • PHP ജിയോഐപി ഒരു മൂന്നാം കക്ഷി വിപുലീകരണമാണെന്ന് കണക്കിലെടുക്കുമ്പോൾ, ഇത് സെർവറിൽ പ്രത്യേകം ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്, പങ്കിട്ട ഹോസ്റ്റിംഗ് ഉപയോഗിക്കുകയാണെങ്കിൽ ഇത് ബുദ്ധിമുട്ടുള്ള കാര്യമായി മാറും. നിങ്ങൾക്ക് തീർച്ചയായും സാങ്കേതിക പിന്തുണയുമായി ബന്ധപ്പെടാം, പക്ഷേ അവർ നിങ്ങളെ സഹായിക്കുമെന്നത് ഒരു വസ്തുതയല്ല. ഉദാഹരണത്തിന്, ഞാൻ സ്ഫിങ്ക്സ് ഇൻസ്റ്റാൾ ചെയ്യാൻ ആവശ്യപ്പെട്ടപ്പോൾ, ഞാൻ നിരസിച്ചു.
  • ഇതര ലൈബ്രറികൾ ഉപയോഗിച്ച് പിഎച്ച്പിയിൽ ഐപി പ്രകാരം ഒരു നഗരം നിർണ്ണയിക്കുന്നു

    ഒരു PHP സ്ക്രിപ്റ്റിൽ IP വഴി ഒരു നഗരം കണ്ടെത്താനുള്ള മറ്റൊരു മാർഗ്ഗം, MaxMind ഒഴികെയുള്ള IP വിലാസങ്ങൾക്കായി ഇതര സെർവർ ലൈബ്രറികളും വിവര ഡാറ്റാബേസുകളും ഉപയോഗിക്കുക എന്നതാണ്.

    എന്നാൽ മുമ്പത്തെ ഓപ്ഷൻ്റെ അതേ ദോഷങ്ങളുമുണ്ട്, കാരണം... MaxMind-ൻ്റെ എതിരാളികൾ മാത്രമാണ്. ഡാറ്റാബേസുകളിലേക്കുള്ള പ്രവേശനവും അവയുടെ API ഉപയോഗിക്കാനുള്ള കഴിവും നൽകപ്പെടുന്നു. സൗജന്യമായി നിങ്ങൾക്ക് IP വഴി രാജ്യങ്ങളുടെയും നഗരങ്ങളുടെയും ഒരു ലിസ്റ്റ് മാത്രമേ ലഭിക്കൂ, പണമടച്ചുള്ള പ്ലാൻ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഡാറ്റയുടെ വിശാലമായ ലിസ്റ്റ് ലഭിക്കും.

    PHP ജിയോഐപിയെക്കാൾ ഒരേയൊരു നേട്ടം, ഈ ലൈബ്രറികൾ PHP കോഡിൽ സംയോജിപ്പിച്ചിരിക്കുന്നു എന്നതാണ്, അല്ലാതെ സെർവർ തലത്തിലല്ല, അതായത്. പങ്കിട്ട ഹോസ്റ്റിംഗുകളിൽ പോലും അവ ഉപയോഗിക്കാൻ കഴിയും.

    അത്തരമൊരു ലൈബ്രറിയുടെ ഉദാഹരണം db-ip.com സേവനം നൽകുന്നു.

    വഴിയിൽ, ഞാൻ സൂചിപ്പിച്ച സേവനം ക്ലയൻ്റ് ഐപികളിൽ നിന്ന് ജിയോഡാറ്റ ലഭിക്കുന്നതിന് അതിൻ്റെ PHP ലൈബ്രറി മാത്രമല്ല, വിലാസങ്ങൾ വഴിയുള്ള വിവര ഡാറ്റാബേസുകളിലേക്കുള്ള പ്രവേശനവും നൽകുന്നു. അതിനാൽ, തത്വത്തിൽ, അതിൻ്റെ API ഉപയോഗിക്കുന്നതിന് PHP ജിയോഐപിയിൽ അവ ഉപയോഗിക്കുന്നതിൽ നിന്ന് ആരും നിങ്ങളെ തടയുന്നില്ല, എന്നാൽ മറ്റ് ഉറവിടങ്ങളിൽ നിന്ന് വിവരങ്ങൾ എടുക്കുന്നു.

    ശരി, മൂന്നാം കക്ഷി അനുമതികളൊന്നുമില്ലാതെ തന്നെ അവരിൽ നിന്ന് വിവരങ്ങൾ നേടുന്നതിനായി IP വിലാസ ഡാറ്റാബേസ് ഫയലുകളുടെ നിങ്ങളുടെ സ്വന്തം പാർസർ എഴുതുന്നതിൽ നിന്ന് ആരും നിങ്ങളെ തടയില്ല.

    PHP ഓൺലൈനിൽ IP വഴി ഒരു നഗരം എങ്ങനെ നിർണ്ണയിക്കും

    ശരി, ഇപ്പോൾ ഞാൻ PHP-യിലും മറ്റ് ജിയോ വിവരങ്ങളിലും ഐപി ഉപയോഗിച്ച് രാജ്യം എങ്ങനെ കണ്ടെത്താം എന്നതിൻ്റെ അവസാന രീതിയിലേക്ക് വന്നിരിക്കുന്നു, അത് ഞാൻ തന്നെ പ്രായോഗികമായി ഉപയോഗിച്ചു.

    IP വിലാസം ഓൺലൈനിൽ ഡാറ്റ സ്വീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന API ഓൺലൈൻ സേവനങ്ങൾ ഉപയോഗിക്കുന്നത് ഇതിൽ അടങ്ങിയിരിക്കുന്നു.

    ഈ രീതി ഉപയോഗിച്ച് PHP-യിൽ IP വഴി നഗരം നിർണ്ണയിക്കാൻ ഞാൻ തീരുമാനിച്ചു, കാരണം... ഇതിന് മുമ്പുള്ളവയുടെ പ്രധാന പോരായ്മയില്ല. അതായത്, ഇത് നടപ്പിലാക്കാൻ എളുപ്പമാണ് - നിങ്ങൾ സെർവറിൽ ഒന്നും ഇൻസ്റ്റാൾ ചെയ്യുകയോ കോൺഫിഗർ ചെയ്യുകയോ ചെയ്യേണ്ടതില്ല, കൂടാതെ, ഇതിനായി പങ്കിട്ട ഹോസ്റ്റിംഗ് സാങ്കേതിക പിന്തുണ ചോദിക്കുക.

    IP വഴി ആവശ്യമായ വിവരങ്ങൾ ലഭിക്കുന്നതിന്, നിങ്ങൾ ഒരു നിർദ്ദിഷ്ട URL-ലേക്ക് ഒരു അഭ്യർത്ഥന അയച്ച് പ്രതികരണം പ്രോസസ്സ് ചെയ്യേണ്ടതുണ്ട്.

    അവ ഉപയോഗിക്കുന്നതിനുള്ള ചെലവിനെ സംബന്ധിച്ചിടത്തോളം, ഭൂരിഭാഗവും അവർക്ക് പണം നൽകുന്നു, കാരണം ... നിലവിലുള്ള വാണിജ്യ ഐപി ഡാറ്റാബേസുകളുടെ അടിസ്ഥാനത്തിൽ ഒരു ചട്ടം പോലെ പ്രവർത്തിക്കുക. എന്നാൽ, വാണിജ്യപരം പോലെ പൂർണ്ണമായ വിവരങ്ങൾ നൽകുന്ന സൌജന്യ സേവനങ്ങളും ഉണ്ട്, എന്നാൽ അത് പരിധിയില്ലാത്ത തുകയിൽ ലഭിക്കും.

    ശരിയാണ്, അവ വളരെ വേഗത്തിൽ നിലനിൽക്കും, വിചിത്രമായി മതി, കാരണം അത്തരം സേവനങ്ങൾ നൽകിക്കൊണ്ട് അതിജീവിക്കുക വളരെ ബുദ്ധിമുട്ടാണ്. IP വഴി നഗരങ്ങളും രാജ്യങ്ങളും നിർണ്ണയിക്കുന്നതിനുള്ള സൗജന്യ ഓൺലൈൻ സേവനങ്ങളുടെ എൻ്റെ വിശകലനം ഇത് കാണിക്കുന്നു, അത് ഞാൻ വ്യക്തിഗത ആവശ്യങ്ങൾക്കായി നടത്തി. അവ പല സൈറ്റുകളിലും പ്രത്യക്ഷപ്പെട്ടു, എന്നാൽ നിങ്ങൾ അവ ഉപയോഗിക്കാൻ ശ്രമിച്ചപ്പോൾ, അവ നിലവിലില്ല എന്ന് വ്യക്തമായി.

    അവസാനം, എനിക്ക് ആവശ്യമുള്ളത് ഞാൻ കണ്ടെത്തി, അതാണ് ഞാൻ നിങ്ങളുമായി തീരുമാനിക്കേണ്ടത് - http://www.geoplugin.com/

    സേവന വെബ്‌സൈറ്റിലെ ഐപി വഴി നഗരവും മറ്റ് വിവരങ്ങളും നിർണ്ണയിക്കാനും കോഡിൽ നിന്ന് ഇത് ചെയ്യാനും ഈ സേവനം നിങ്ങളെ അനുവദിക്കുന്നു. അടുത്തതായി, geoplugin.com ഉപയോഗിച്ച് ഒരു പിഎച്ച്പി സ്ക്രിപ്റ്റിൽ ഐപി ഉപയോഗിച്ച് ഒരു രാജ്യം നിർണ്ണയിക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം ഞാൻ നൽകും. ലിങ്കിലെ ലേഖനത്തിൽ വിവരിച്ചിരിക്കുന്ന കോഡ് ഉപയോഗിച്ചാണ് കോഡ് നടപ്പിലാക്കുന്നത്.

    നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, മുകളിലുള്ള കോഡിൻ്റെ സാരാംശം ക്ലയൻ്റിൻ്റെ ഐപി വിലാസം നിർണ്ണയിക്കുക, ഒരു പ്രോക്സി വഴി ബന്ധിപ്പിക്കുന്നതിനുള്ള സാധ്യത കണക്കിലെടുക്കുകയും ഫലങ്ങളുടെ കൂടുതൽ ഡീകോഡിംഗും വിശകലനവും ഉപയോഗിച്ച് ജിയോപ്ലഗിൻ എപിഐ വഴി ഒരു അഭ്യർത്ഥന അയയ്ക്കുകയും ചെയ്യുക എന്നതാണ്.

    എൻ്റെ ഉദാഹരണത്തിൽ, ഞാൻ ഇതിനകം പറഞ്ഞതുപോലെ, ഈ സ്ക്രിപ്റ്റിൻ്റെ ഫലം സൈറ്റ് ക്ലയൻ്റിൻ്റെ രാജ്യ കോഡ് ആയിരിക്കും. പൊതുവേ, മടങ്ങിയ പാരാമീറ്ററുകളുടെ പൂർണ്ണമായ ലിസ്റ്റ് ഇതുപോലെ കാണപ്പെടുന്നു (ഉദാഹരണത്തിന്, റഷ്യൻ ഫെഡറേഷൻ്റെ നോവോസിബിർസ്ക് മേഖലയുടെ ഐപി എടുക്കാൻ ഞാൻ തീരുമാനിച്ചു):

    ( "geoplugin_request":"195.208.128.3", "geoplugin_status":200, "geoplugin_credit":"വീണ്ടെടുത്ത ചില ഡാറ്റയിൽ MaxMind സൃഷ്ടിച്ച ജിയോലൈറ്റ് ഡാറ്റ ഉൾപ്പെടുന്നു, ഇതിൽ നിന്ന് ലഭ്യമാണ്. http:\/\/www.maxmind.com.", "geoplugin_city":"Novosibirsk", "geoplugin_region":"Novosibirsk", "geoplugin_areaCode":"0", "geoplugin_dmaCode":"0", "geoplugin_countryCode": "RU", "geoplugin_countryName":"റഷ്യൻ ഫെഡറേഷൻ", "geoplugin_continentCode":"EU", "geoplugin_latitude":"55.09", "geoplugin_longitude":"82.6519", "geoplugin_region3"region":" Novosibirsk", "geoplugin_currencyCode":"RUB", "geoplugin_currencySymbol":"rub", "geoplugin_currencySymbol_UTF8":"\u0440\u0443\u0431", "geoplugin_currencyConverter28958)9

    നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഈ സേവനം മുമ്പ് സൂചിപ്പിച്ച MaxMind (geoplugin_credit പാരാമീറ്റർ) ഉപയോഗിക്കുന്നു, എന്നാൽ വിവരങ്ങൾ പണമടച്ചിട്ടുണ്ടോ ഇല്ലയോ എന്നത് ഊഹിക്കാൻ പ്രയാസമാണ്. ഒരു വശത്ത്, ഉറവിടത്തിലേക്കുള്ള ലിങ്ക് IP ഡാറ്റാബേസിലേക്കുള്ള സൌജന്യ ആക്സസ് ഉപയോഗിക്കുന്നതായി സൂചിപ്പിക്കുന്നു, എന്നാൽ, മറുവശത്ത്, ഞങ്ങൾ രാജ്യവും നഗരവും മാത്രമല്ല, നഗരം, ഭൂമിശാസ്ത്രം ഉൾപ്പെടെയുള്ള മറ്റ് നിരവധി വിവരങ്ങളും കാണുന്നു. കോർഡിനേറ്റുകൾ, കോർഡിനേറ്റുകൾ (ലാങ്കിറ്റ്യൂഡ്, അക്ഷാംശം) , നിലവിലെ കറൻസിയും അതിൻ്റെ വിനിമയ നിരക്ക് പോലും.

    അതിനാൽ ഈ സേവനത്തെ PHP ജിയോഐപി ഓൺലൈനായി വിളിക്കാം. അതിൻ്റെ സെർവർ കൌണ്ടർപാർട്ടിൽ നിന്നുള്ള ഒരേയൊരു വ്യത്യാസം, സെർവർ കാഷിംഗിൻ്റെ അഭാവം മൂലം IP വഴി വിവരങ്ങൾ അൽപ്പം മന്ദഗതിയിൽ സ്വീകരിക്കുന്നു എന്നതാണ്. എന്നാൽ ഇത് ജിയോപ്ലഗിൻ സെർവറിൽ തന്നെ ഇല്ലെന്ന് ഇതിനർത്ഥമില്ല 😉 അതിനാൽ ഈ പോരായ്മ പ്രതീകാത്മകമാണ്.

    എന്തായാലും, ജിയോപ്ലഗിൻ ഡെവലപ്പർമാർ അഭിനന്ദനം അർഹിക്കുന്നു, പ്രത്യേകിച്ചും, സന്ദർഭോചിതമായ പരസ്യങ്ങൾ ഉപയോഗിച്ച് അവർ അവരുടെ സൈറ്റിനെ അലങ്കോലപ്പെടുത്തിയില്ല എന്നതിന്. ആ. അവർ എങ്ങനെ അതിജീവിക്കുന്നു എന്ന് പോലും വ്യക്തമല്ല. അവരോട് "നന്ദി" പറയാനുള്ള ഏക മാർഗം നിങ്ങളുടെ പേപാൽ അക്കൗണ്ടിലേക്ക് സംഭാവന ചെയ്യുക എന്നതാണ്.

    വഴിയിൽ, ഐപി പ്രകാരം ഒരു നഗരം നിർണ്ണയിക്കാൻ ഞാൻ നൽകിയ PHP കോഡ് സാർവത്രികമാണ്. മറ്റ് സേവനങ്ങൾ ഉപയോഗിച്ച് ജിയോഡാറ്റ ലഭിക്കുന്നതിന് നിങ്ങൾക്ക് ഇത് ഉപയോഗിക്കാം. അതിൽ നിങ്ങൾ മാറ്റേണ്ട ഒരേയൊരു കാര്യം സേവന API URL ഉം നിങ്ങൾക്ക് ലഭിക്കേണ്ട ആവശ്യമായ പാരാമീറ്ററുകളുടെ പേരും മാത്രമാണ്.

    അത്രയേ ഉള്ളൂ. ലേഖനത്തെക്കുറിച്ചുള്ള നിങ്ങളുടെ ഫീഡ്‌ബാക്ക് ചുവടെയുള്ള അഭിപ്രായങ്ങളിൽ എഴുതുക, സോഷ്യൽ നെറ്റ്‌വർക്കുകളിൽ നിങ്ങളുടെ സുഹൃത്തുക്കളുമായി പോസ്റ്റ് പങ്കിടാൻ മറക്കരുത്.

    പി.എസ്. : നിങ്ങൾക്ക് ഒരു വെബ്‌സൈറ്റ് ആവശ്യമുണ്ടെങ്കിൽ അല്ലെങ്കിൽ നിലവിലുള്ളതിൽ മാറ്റങ്ങൾ വരുത്തേണ്ടതുണ്ടെങ്കിൽ, എന്നാൽ ഇതിന് സമയമോ ആഗ്രഹമോ ഇല്ലെങ്കിൽ, എനിക്ക് എൻ്റെ സേവനങ്ങൾ വാഗ്ദാനം ചെയ്യാൻ കഴിയും.

    പ്രൊഫഷണൽ വെബ്‌സൈറ്റ് വികസനത്തിൽ 5 വർഷത്തിലേറെ പരിചയം. PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular, മറ്റ് വെബ് വികസന സാങ്കേതികവിദ്യകൾ എന്നിവയിൽ പ്രവർത്തിക്കുന്നു.

    വിവിധ തലങ്ങളിൽ പ്രോജക്ടുകൾ വികസിപ്പിക്കുന്നതിൽ പരിചയം: ലാൻഡിംഗ് പേജുകൾ, കോർപ്പറേറ്റ് വെബ്സൈറ്റുകൾ, ഓൺലൈൻ സ്റ്റോറുകൾ, CRM, പോർട്ടലുകൾ. ഹൈലോഡ് പ്രോജക്റ്റുകളുടെ പിന്തുണയും വികസനവും ഉൾപ്പെടെ. നിങ്ങളുടെ അപേക്ഷകൾ ഇമെയിൽ വഴി അയയ്ക്കുക [ഇമെയിൽ പരിരക്ഷിതം].

    ഐപിയെക്കുറിച്ചുള്ള വിഷയം തുടരുന്നു, ഈ ലേഖനം ഒരു ഉപയോക്താവിനെക്കുറിച്ചുള്ള രാജ്യം, നഗരം, മറ്റ് ജിയോ വിവരങ്ങൾ എന്നിവ അവൻ്റെ ഐപി ഉപയോഗിച്ച് നിർണ്ണയിക്കുന്നതിനുള്ള വഴികൾ പരിശോധിക്കും.

    ഒരു PHP വിപുലീകരണമായി ജിയോഐപി

    IP (php.net-ലെ ഓഫീസ് ഡോക്) നിർണ്ണയിക്കാൻ ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന ലൈബ്രറിയായിരിക്കാം. ഇതിൽ അതിശയിക്കാനില്ല, കാരണം ഒരു ബൈനറി ഡാറ്റാബേസ് + കംപൈൽ ചെയ്ത PHP വിപുലീകരണം മറ്റെല്ലാ രീതികളേക്കാളും വേഗത്തിൽ പ്രവർത്തിക്കുന്നു.

    ഉബുണ്ടു സെർവറിലെ ഇൻസ്റ്റലേഷൻ:

    Sudo apt-get install php5-geoip

    ഇൻസ്റ്റാളേഷന് ശേഷം, IP വിലാസ ഡാറ്റാബേസിലേക്ക് ഏറ്റവും പുതിയ അപ്ഡേറ്റുകൾ ഡൗൺലോഡ് ചെയ്യുക:

    ഈ ഘട്ടങ്ങൾക്ക് ശേഷം, നിങ്ങൾ PHP പുനരാരംഭിക്കേണ്ടതുണ്ട്. പുതുതായി ഇൻസ്റ്റാൾ ചെയ്ത വിപുലീകരണവും (php5-geoip) പുതിയ IP വിലാസ ഡാറ്റാബേസുകളും ലോഡുചെയ്യുന്നതിന് PHP വ്യാഖ്യാതാവിന് ഇത് ആവശ്യമാണ്.

    IP വിലാസ ഡാറ്റാബേസ് ഇടയ്ക്കിടെ അപ്ഡേറ്റ് ചെയ്യേണ്ടത് ആവശ്യമാണ്:

    Sudo wget -N http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz sudo gunzip GeoIP.dat.gz sudo mv GeoIP.dat /usr/share/GeoIP/

    അപ്ഡേറ്റിന് ശേഷം, അപ്ഡേറ്റ് ചെയ്ത IP വിലാസ ഡാറ്റാബേസ് പ്രയോഗിക്കുന്നതിന് നിങ്ങൾ PHP പുനരാരംഭിക്കേണ്ടതുണ്ട്:

    നിങ്ങൾ NGINX ഉപയോഗിക്കുകയാണെങ്കിൽ Sudo സേവനം php5-fpm പുനരാരംഭിക്കുക # അല്ലെങ്കിൽ നിങ്ങൾ Apache ഉപയോഗിക്കുകയാണെങ്കിൽ sudo സേവനം apache2 പുനരാരംഭിക്കുക #

    ജിയോഐപി ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, ഇത് കോഡിൽ ഉപയോഗിക്കാം, ഇതുപോലെ: