چه طور می‌توان از IP واقعی کاربر نهایی آگاه شد - حلقه ارتباطی ابر آروان

ابر آروان

زیرساخت یکپارچه ابری

۱۸ دی ۱۳۹۶

چه طور می‌توان از IP واقعی کاربر نهایی آگاه شد

از آن‌جا که شبکه ابر آروان به‌شکل میانجی معکوس (reverse proxy) عمل می‌کند، تمامی درخواست‌های رسیده به سرور(های) اصلی وب‌سایت یا وب‌سرویس در لاگ‌های سرور اصلی وب‌سایت به ظاهر از IPهای ابر آروان آمده است. به‌منظور اطلاع دادن آدرس IP واقعی کاربر به مدیر وب‌سایت، ابر آروان آدرس اصلی کاربر را در هدر HTTP در فیلد مشخصی ذکر می‌کند.

ابر آروان سه هدر ست می‌کند که برای دانستن آدرس IP اصلی کاربر باید از آن‌ها استفاده کرد. از جمله X-Real-IP و ar-real-ip و هدر استاندارد X-Forwarded-For.

شیوه‌ی دیدن IP اصلی کاربر در ASP.Net

برای گرفتن IP اصلی کاربر در ASP.Net از تکه کد زیر استفاده می‌کنیم:


Public string function get_real_ip_addr(){

if(!IsEmpty(Request.ServerVariables["HTTP_X_FORWARDED_FOR"]))

return Request.ServerVariables["HTTP_X_FORWARDED_FOR"]. Split(',')[0].Trim();

else if(!IsEmpty(Request.ServerVariables["REMOTE_ADDR"]))

return Request.ServerVariables["REMOTE_ADDR"]

else

return Request.ServerVariables["AR_REAL_IP"];

}

String ip = get_real_ip_addr();

 

شیوه‌ی دیدن IP واقعی کاربر در PHP



function get_real_ip_addr(){

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'];

}

elseif (!empty($_SERVER['REMOTE_ADDR']))

{

$ip=$_SERVER['REMOTE_ADDR'];

}

else

{

$ip=$_SERVER['AR_REAL_IP'];

}

return $ip;

}

 

$ip = get_real_ip_addr()

 

شیوه‌ی دیدن IP اصلی کاربر در Python

برای برنامه‌نویسی تحت شبکه (socket programming) در زبان پایتون لازم است از کتابخانه‌ی socket در برنامه‌ی خود استفاده کنید. با وارد کردن این کتابخانه می‌توانید از توابع و کلاس‌های آن برای این منظور استفاده کنید:



import socket

 

def get_real_ip_addr(request):

x_forwarded_for = request.META.get(‘HTTP_X_FORWARDED_FOR’)

remote_addr = request.META.get(‘REMOTE_ADDR’)

if x_forwarded_for:

ip = x_forwarded_for.split(‘,’)[0]

elseif remote_addr:

ip = remote_addr

else:

ip = request.META.get(‘AR_REAL_IP’)

return ip

 

ip = get_real_ip_addr(request)

 

بیش‌تر بدانید: «شیوه لاگ کردن آدرس IP واقعی کاربر در وب‌سرور»

بدون دیدگاه

برچسب‌ها:




× برای اطلاع از آخرین اخبار و مقالات آروان عضو خبرنامه ما شوید