用户IP地址,是否使用代理
本文关键字:代理 是否 IP 地址 用户 | 更新日期: 2023-09-27 18:02:35
请参阅以下代码:
private string GetUserIPAddress()
{
string User_IPAddress = string.Empty;
string User_IPAddressRange = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(User_IPAddressRange))//without Proxy detection
{
User_IPAddress = Request.ServerVariables["REMOTE_ADDR"];
//or
//Client_IPAddress = Request.UserHostAddress;
//or
//User_IPAddress = Request.ServerVariables["REMOTE_HOST"];
}
else////with Proxy detection
{
string[] splitter = { "," };
string[] IP_Array = User_IPAddressRange.Split(splitter,
System.StringSplitOptions.None);
int LatestItem = IP_Array.Length - 1;
User_IPAddress = IP_Array[LatestItem - 1];
//User_IPAddress = IP_Array[0];
}
return User_IPAddress;
}
1 -
User_IPAddress = Request.ServerVariables["REMOTE_ADDR"];
和Client_IPAddress = Request.UserHostAddress;
和User_IPAddress = Request.ServerVariables["REMOTE_HOST"];
下线或中线是其他线的替代线吗?
请给我们解释一下这些产品好吗?
有什么不同?
2 - User_IPAddress = IP_Array[LatestItem - 1];
和User_IPAddress = IP_Array[0];
我应该用哪一行?
请您解释一下这些线条好吗?
我不知道类,但机会是请求。UserHostAddress是Request.ServerVariables["REMOTE_ADDR"]的别名。REMOTE_HOST也可以是主机名,但大多数情况下只是ipaddress。
x - forward - for的格式为client1, proxy1, proxy2。所以你想要第二个。User_IPAddress = IP_Array[0];
只要记住"因为x - forward - for字段很容易伪造,所以应该小心使用给定的信息。"