如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。
'通用函数:如果不能取客户端真实IP,就会取客户端的代理IP
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)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARD_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
getIP=Trim(Mid(strIPAddr,1,30))
End Function
阅读(688) | 评论(0) | 转发(0) |