help-header

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

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

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

در این راهنما به شیو‌ه‌ی مشاهده‌ی IP اصلی کاربران در زبان‌های مختلف می‌پردازیم. برای راهنمایی بیش‌تر درباره‌ی لاگ کردن صحیح IPها، می‌توانید از راهنمای فنی شیوه لاگ کردن آدرس IP واقعی کاربر در وب‌سرور استفاده کنید. 

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

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

} ()Public string function get_real_ip_add 

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

;return Request.ServerVariables["AR_REAL_IP"] 

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

return Request.ServerVariables["REMOTE_ADDR"] 

{ 

;()String ip = get_real_ip_add

  

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

 } ()function get_real_ip_addr

 } if (!empty($_SERVER['AR_REAL_IP']))

;ip = $_SERVER['AR_REAL_IP']$

{

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

;ip = $_SERVER['REMOTE_ADDR']$

{

;return $ip

{

;()ip = get_real_ip_addr$

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

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

import socket

:def get_real_ip_addr(request)

ar_real_ip = request.META.get('AR_REAL_IP')

remote_addr = request.META.get('REMOTE_ADDR')

:if ar_real_ip

ip = ar_real_ip 

:elif remote_addr

ip = remote_addr 

:else

ip = request.META.get('AR_REAL_IP') 

return ip

ip = get_real_ip_addr(request)