asp获取用户真实IP地址的方法
一般的程序都具备获取用户IP地址的命令 但是我们访问网站有两种一种是我们这种普通用户 一种是使用代理IP上网的用户 下面我来介绍介绍
在asp中获取用户IP地址我们最简单的获取方法就是使用
代码如下Request ServerVariables("REMOTE_ADDR")
但是如果用户使用了代理服务器IP地址就不对了 但我们可通过
代码如下Request ServerVariables("REMOTE_ADDR")
结果上面的两个获取IP的方法我们可如下操作
代码如下userip = Request ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request ServerVariables("REMOTE_ADDR")
上面的只是一个简单的判断方法 在实际应用中我们可能碰到的情况更多 下面看一个不错的实例
代码如下<%Private Function getIP() Dim strIPAddr If Request ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") "unknown") > Then strIPAddr = Request ServerVariables("REMOTE_ADDR") ElseIf InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") " ") > Then strIPAddr = Mid(Request ServerVariables("HTTP_X_FORWARDED_FOR") InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") " ") ) ElseIf InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") ";") > Then strIPAddr = Mid(Request ServerVariables("HTTP_X_FORWARDED_FOR") InStr(Request ServerVariables("HTTP_X_FORWARDED_FOR") ";") ) Else strIPAddr = Request ServerVariables("HTTP_X_FORWARDED_FOR") End If getIP = Trim(Mid(strIPAddr )) End Function ip=getIP() response write(ip) %>
这样几乎可以获取到用户真实IP地址了 但是也不能保存所有代理的都能获取到了 只是大家都使用上面的方法
如果有使用asp net的朋友可参考下面方法来获取
代码如下//方法一 HttpContext Current Request UserHostAddress;
//方法二 HttpContext Current Request ServerVariables["REMOTE_ADDR"];
//方法三 string strHostName = System Net Dns GetHostName(); string clientIPAddress = System Net Dns GetHostAddresses(strHostName) GetValue( ) ToString();
//方法四(无视代理) HttpContext Current Request ServerVariables["HTTP_X_FORWARDED_FOR"];
//方法五 var ip = <! #echo var="REMOTE_ADDR" > ; alert("Your IP address is "+ip);
lishixinzhi/Article/program/net/201311/14451
2023-07-25 广告