Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141709
  • 博文数量: 22
  • 博客积分: 1050
  • 博客等级: 少尉
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 16:41
文章分类

全部博文(22)

文章存档

2009年(5)

2008年(17)

我的朋友

分类:

2009-03-18 12:17:59

如果客户端通过代理服务器,则取 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
阅读(662) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~