asp 取得用户真实IP,对代理地址仍然有效的函数

<%
'******************************
'函数:GetUserTrueIP()
'参数:无
'作者:阿里西西
'日期:2007/7/13
'描述:取得用户真实IP,对代理地址仍然有效;返回值:文本类型的IP地址
'示例:<%=GetUserTrueIP()%>
'******************************
Function GetUserTrueIP()
   dim strIPAddr
   If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then 
      strIPAddr = Request.ServerVariables("REMOTE_ADDR") 
   ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then 
      strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1) 
   ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then 
      strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1) 
   Else 
      strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR") 
   End If 
   GetUserTrueIP = Trim(Mid(strIPAddr, 1, 30)) 
End Function
%>

相关推荐