شاید با خودتان فکر کرده باشید که چگونه میشود آی پی (IP) کاربر را به دست آورد و از آن استفاده کرد و یا آن را در جایی از پروژهی خودتان به عنوان اطلاعاتی از کاربرانتان ذخیره کنید. ما در این مقاله، دو مورد از رایجترین روشها برای بدست آوردن آی پی کاربر را به شما آموزش خواهیم داد، با ما همراه باشید.قبل از هرچیز اگر نیازمند اطلاعات بیشتر درباره زبان برنامه نویسی PHP دارید به مقاله ” PHP چیست ” مراجعه نمایید.
آدرس آی پی، شماره شناسایی منحصر به فرد هر کامپیوتر متصل به شبکه اینترنت است، شما میتوانید با آی پی کاربر سایت خود، کارهای زیادی انجام دهید از جمله:
گاهی اوقات سوالاتی وجود دارد که گفته میشود بدست آوردن آی پی گوشی امکان پذیر است یا خیر؟ که باید گفت بله امکان پذیر است و با همین کدهای نوشته شده در ادامهی مقاله میتوانید آی پی کاربر را به دست آورید.
برای بدست آوردن آی پی سرور، کامپیوتر یا گوشی از طریق PHP میتوانید از تابع زیر استفاده کنید:
function GetIp() { $ip = $_SERVER['REMOTE_ADDR']; return $ip; } echo(GetIp());
ولی ممکن است کاربر شما از پروکسی استفاده کند و IP خودش را تغییر بدهد. برای این که از این کار جلوگیری کنیم و آی پی واقعی کاربر را بدست بیاوریم، بهتر است از تابع زیر استفاده کنید:
function GetRealIp() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet $ip = $_SERVER['HTTP_CLIENT_IP']; elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; else $ip = $_SERVER['REMOTE_ADDR']; return $ip; } echo(GetRealIp());
این تابعها در localhost یا بر روی سیستم شما به درستی کار نمیکنند. بنابراین بهتر است آن را برای تست در هاست خود آپلود کنید و از آنجا تست بگیرید.
برای بدست آوردن آی پی سایت میتوانید از تابع زیر استفاده کنید:
function GetIpHost($ip) { $ip = gethostbyname($ip); return $ip; } echo(GetIpHost("www.7learn.com"));
اگر پارامتر ورودی تابع، سایتی باشد که وجود خارجی نداشته باشد، خروجی تابعها عبارت “سایت نامعتبر” میباشد.
یکی دیگر از روشهای به دست آوردن آی پی کاربر استفاده کردن از پکیجهای موجود میباشد که جز بهترین پیشنهادها است و شما میتوانید به راحتی از آن استفاده کنید.
شاید از خودتان بپرسید که چرا از همان اول به شما پکیجهای کاربردی را معرفی نکردیم؟ خیلی خوب است که شما درک مناسبی داشته باشید که این پکیجها چگونه کار میکنند تا بتوانید به راحتی از آنها استفاده کنید و سوالاتی که ممکن است در ذهنتان پیش بیاید را جواب داده باشید.
برای نصب این پکیج حتما باید composer را داشته باشید. برای نصب این پکیج از طریق composer دستور زیر را وارد کنید.
composer require yogeshkoli/user-ip
بعد از نصب شدن این پکیج با include کردن autoload کامپوزر (compsoer) به پکیج دسترسی خواهید داشت.
<?php
require __DIR__ . '/../vendor/autoload.php';
use YogeshKoli\UserIP\UserIP;
var_dump(UserIP::get());
با کد بالا شما میتوانید آی پی کاربر را دریافت کنید.
اگر میخواهید آی پی دریافتی را اعتبار سنجی کنید میتوانید از کد زیر استفاده کنید:
<?php
require __DIR__ . '/../vendor/autoload.php';
use YogeshKoli\UserIP\UserIP;
$ip = '192.168.10.1';
var_dump(UserIP::validate($ip));
جمعبندی
در این مقاله ابتدا خودمان کدهای دریافت آی پی کاربر را به صورت PHP Pure یا PHP خام نوشتهایم و بعد از آن که درک مناسبی از آن پیدا کردیم، به سراغ یک پکیج مناسب برای به دست آوردن IP کاربر رفتیم و آن را نصب و سپس در برنامه خود استفاده کردیم. سعی کنید زمانی که از یک پکیج استفاده میکنید، حتما از کدهای نوشته شده درون آن پکیج درک مناسبی داشته باشید تا صرفا یک مصرف کننده محض نباشید. خوشحال میشویم که نظرات، پیشنهادها و تجربههای خود را با ما در میان بگذارید.
اگر به یادگیری بیشتر در زمینهی PHP علاقه داری، با شرکت در دورهی آموزش PHP در کمتر از یک سال به یک متخصص PHP تبدیل میشوی که آمادهی استخدام، دریافت پروژه، کسب درآمد و یادگیری مباحثی مثل لاراول هستی.
گرفتن موقعیت مکانی با php