از آنجا که شبکه ابر آروان بهشکل میانجی معکوس (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)