日期:2010-02-06  浏览次数:21004 次

ASP取得访问者真实IP地址函数

 Private Function getIP()
  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)
   actforip = 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)
   actforip = Request.ServerVariables("REMOTE_ADDR")
  Else
   strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
   actforip = Request.ServerVariables("REMOTE_ADDR")
  End If
  getIP = Replace(Trim(Mid(strIPAddr, 1, 30)), "'", "")
 End Function

调用方法: <%=getIP()%>