我托管了在ASP.net中开发的Web。我想如果有人调用我的应用程序接口,以便我可以登录数据库,以便稍后,如果我想拒绝来自特定id使用C#的请求。
获取消费者IP和HostName的最佳实践是什么?
public static string GetIP4Address()
{
string IP4Address = String.Empty;
foreach (IPAddress IPA in Dns.GetHostAddresses(Request.ServerVariables["REMOTE_ADDR"].ToString())))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
if (IP4Address != String.Empty)
{
return IP4Address;
}
foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
return IP4Address;
}发布于 2013-03-30 07:21:48
解析名字听起来不是个好主意。如果从dns无法解析的客户端计算机调用您,该怎么办?我告诉你,dns耗时很长,然后会失败,因为你必须捕获一个异常,并将其记录为“未知主机名”。
至于请求地址,只需通过以下命令获取
HttpContext.Current.Request.UserHostAddresshttps://stackoverflow.com/questions/15712720
复制相似问题