بسیاری از اوقات برای اهداف مختلف نیاز به دریافت آدرس IP بازدیدکننده داریم. به دست آوردن آدرس IP در PHP بسیار آسان است. PHP متغیر $_SERVER را برای دریافت آدرس IP کاربر فراهم می کند. با داشتن آی پی کاربر ما میتوانیم فعالیتهای بازدیدکننده در وبسایت را برای اهداف امنیتی ردیابی کنیم، یا میتوانیم بدانیم چه کسی از وبسایت من و بسیاری موارد دیگر استفاده میکند.
ساده ترین راه برای به دست آوردن آدرس IP بازدید کننده در PHP مقدار REMOTE_ADDR است. متغیر “REMOTE_ADDR” را در PHP $_SERVER منتقل کرده و آدرس IP بازدیدکننده ای را که در حال حاضر صفحه وب را مشاهده می کند، دریافت می کنیم.
توجه: ما میتوانیم این آدرس IP را در صفحه وب نمایش دهیم و حتی میتوانیم در پایگاه داده برای بسیاری از اهداف دیگر مانند – برای امنیت، هدایت بازدیدکننده به سایت دیگر، مسدود کردن / ممنوع کردن بازدیدکننده ذخیره کنیم.
دریافت آدرس IP کاربر
$_SERVER['REMOTE_ADDR']
– آدرس IP کاربری که در حال حاضر از صفحه وب بازدید می کند را برمی گرداند.
<?php
echo 'User IP Address - '.$_SERVER['REMOTE_ADDR'];
?>
خروجی
User IP Address - ::1
اما گاهی اوقات REMOTE_ADDR آدرس IP مشتری را بر نمی گرداند و دلیل اصلی استفاده از پروکسی است. در چنین شرایطی، ما روش دیگری را برای دریافت آدرس IP واقعی کاربر در PHP امتحان خواهیم کرد.
<?php
function getIPAddress() {
//whether ip is from the share internet
if(!emptyempty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
//whether ip is from the proxy
elseif (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
//whether ip is from the remote address
else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$ip = getIPAddress();
echo 'User Real IP Address - '.$ip;
?>
دیدگاهها