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