Öncelikle başlığa bakıldığında ne kadar önemli bir konu olduğunu anlayabiliriz.Ek olarak burada MVC yapısından bahsedilse de bunu uygulamak için Asp.NET Web Forms mimarisi de yeterlidir. Burada kullanıcının doğruluk payı en yüksek olan ip adresini almak için gerekli metodlar uygulanmıştır.” Load Balancer-Yük Dengeleme “, 301 ya da 302 yönlendirmeleri de gözetilerek bazı kodlar ile en yüksek ihtimalli kullanıcı ip adresi alınmıştır.
public static string GetClientIp() { var ipAddress = string.Empty; if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null) ipAddress = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); else if (HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"] != null && HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"].Length != 0) ipAddress = HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"]; else if (HttpContext.Current.Request.UserHostAddress.Length != 0) ipAddress = HttpContext.Current.Request.UserHostName; return ipAddress; }
Asp.NET MVC İle Kullanıcının IP Adresini Alma işte bu kadardı.En gerçekçi ve yüksek ihtimalli kullanıcı ip’sini almak için yukarıdaki fonksiyon yeterlidir. İyi çalışmalar.