Asp.Net C# ile Kullanıcı IP adresini öğrenme
Asp.Net C# ile Kullanıcı IP adresini öğrenme
Aşağıdaki kod size en doğru ip adresini verecektir. "System.Web.HttpContext.Current.Request.UserHostName" her zaman doğru ip adresini vermeyebilir çünkü sunucuda "load balancer" olabilir ya da yönlendirme olabilir. Aşağıdaki kod sırası ile kontrol ederek en doğru ip adresini size iletir.
public string GetClientIp() { var ipAddress = string.Empty; if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null) { ipAddress = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); } else if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"] != null && System.Web.HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"].Length != 0) { ipAddress = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_CLIENT_IP"]; } else if (System.Web.HttpContext.Current.Request.UserHostAddress.Length != 0) { ipAddress = System.Web.HttpContext.Current.Request.UserHostName; } return ipAddress; }
C#, Aps.NET ve Asp.NET MVC ip öğrenme