当客户端用户登录网站时,可以通过Request.ServerVariables("REMOTE_ADDR")获得IP地址。但这样获得的IP地址不一定是客户端的真实IP地址,如果客户端使用代理服务器上网,得到的就是代理的IP地址。如果我们对常见的方法做一下改动,就能得到客户端的真实IP地址,特别适合论坛的管理员使用。
1.原理
若用户使用代理上网,则使用Request.ServerVariables("HTTP_X_FORWARDED_FOR");若不使用代理,则使用Request.ServerVariables("REMOTE_ADDR")。
2.实践
<%
'透过代理服务器取得客户端的真实 IP 地址
dim userip '声明存储IP地址的变量
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
if userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
%>
以上代码在Win2000+SP4+IIS5和Win2003+IIS6下调试成功。