چگونه می توان از IP بازدید کننده سایت مطلع شد

فهرست مطالب:

چگونه می توان از IP بازدید کننده سایت مطلع شد
چگونه می توان از IP بازدید کننده سایت مطلع شد

تصویری: چگونه می توان از IP بازدید کننده سایت مطلع شد

تصویری: چگونه می توان از IP بازدید کننده سایت مطلع شد
تصویری: چگونه افرادی را که از سایت، کشور، آدرس IP و مرورگر شما بازدید می کنند، بشناسیم 2024, ممکن است
Anonim

اغلب اوقات ، از آدرس IP بازدید کننده سایت برای شناسایی وی استفاده می شود. اما علاوه بر این ، با استفاده از IP ، می توانید اطلاعات اضافی زیادی در مورد بازدید کننده بدست آورید - به عنوان مثال ، از ارائه دهنده اینترنت و موقعیت جغرافیایی وی مطلع شوید. در عمل ، اغلب اسکریپت های PHP سمت سرور برای استخراج آدرس های IP از عناوین درخواست ارسال شده توسط مرورگر استفاده می شوند.

چگونه می توان از IP بازدید کننده سایت مطلع شد
چگونه می توان از IP بازدید کننده سایت مطلع شد

لازم است

دانش پایه PHP

دستورالعمل ها

مرحله 1

برای خواندن آدرس های IP از آرایه متغیر محیط superglobal از تابع getenv داخلی PHP استفاده کنید. در ساده ترین حالت ، خواندن متغیر با نام REMOTE_ADDR کافی خواهد بود. قطعه مربوط به کد PHP ممکن است به این شکل باشد: $ userIP = getenv ('REMOTE_ADDR')؛

گام 2

علاوه بر متغیر REMOTE_ADDR که در درخواست ارسال شده است ، متغیرهای HTTP_VIA و HTTP_X_FORWARDED_FOR را بررسی کنید. اگر بازدید کننده از یک سرور پراکسی استفاده می کند ، پس آدرس میانی باید در هر دو متغیر ثبت شود - هم در HTTP_VIA و هم در REMOTE_ADDR. در این حالت ، می توانید از طریق HTTP_X_FORWARDED_FOR به IP واقعی بازدید کننده پی ببرید - سرور پروکسی باید آدرس اصلی را در آن قرار دهد. با این حال ، این همیشه انجام نمی شود و کاربر این فرصت را دارد که یک سرور پروکسی "مات" انتخاب کند که IP اصلی بازدید کننده ای را که درخواست ارسال کرده است ، منتقل نمی کند. در هر صورت ، باید با افزودن یک چک برای متغیر HTTP_CLIENT_IP ، از بیشترین روشها برای دریافت آدرس IP اصلی در کد خود استفاده کنید.

مرحله 3

در یک خط از کد PHP یک بررسی متوالی از سه متغیر محیط را بهم پیوند دهید ، که ممکن است حاوی آدرس IP اصلی بازدید کننده باشد. این کار را می توان انجام داد ، به عنوان مثال ، مانند این: $ userIP = getenv ('HTTP_CLIENT_IP') یا $ userIP = getenv ('HTTP_X_FORWARDED_FOR') یا $ userIP = getenv ('REMOTE_ADDR')؛

مرحله 4

نویسه های اضافی و "زباله" های دیگر را از مقدار IP حاصل که ممکن است وارد متغیرهای محیط شود ، حذف کنید. برای مثال ، با استفاده از توابع PHP داخلی TRIM و preg_replace می توان این کار را انجام داد: $ userIP = TRIM (preg_replace ('# ^ ([^،] +) (،. *)؟ #'، '$ 1'، $ userIP)) ؛

مرحله 5

همه کدها را در یک عملکرد سفارشی ترکیب کنید تا بتوانید به جای تکرار خطوط بررسی و پاکسازی بارها و بارها در قسمت های مختلف اسکریپت های PHP ، به آن مراجعه کنید. به عنوان مثال ، مانند این: FUNCTION getUserIP () {

$ userIP = getenv ('HTTP_CLIENT_IP') یا $ userIP = getenv ('HTTP_X_FORWARDED_FOR') یا $ userIP = getenv ('REMOTE_ADDR')؛

RITURN TRIM (preg_replace ('# ^ ([^،] +) (،. *)؟ #'، '$ 1'، $ userIP))؛

}

توصیه شده: