做了CDN加速的ASP网站获取用户真实IP程序

复制代码 代码如下:

  function checkip(checkstring)'用正则判断IP是否合法

  dim re1

  set re1=new RegExp

  re1.pattern="^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$"

  re1.global=false

  re1.Ignorecase=false

  checkip=re1.test(checkstring)

  set re1=nothing

  end function

  

复制代码 代码如下:

  function get_cli_ip()'取真实IP函数,先 HTTP_CLIENT_IP 再 HTTP_X_FORWARDED_FOR 再 REMOTE_ADDR

  dim client_ip

  if checkip(Request.ServerVariables("HTTP_CLIENT_IP"))=true then

  get_cli_ip = checkip(Request.ServerVariables("HTTP_CLIENT_IP"))

  else

  MyArray = split(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),",")

  if ubound(MyArray)>=0 then

  client_ip = trim(MyArray(0))

  if checkip(client_ip)=true then

  get_cli_ip = client_ip

  exit function

  end if

  end if

  get_cli_ip = Request.ServerVariables("REMOTE_ADDR")

  end if

  end function