Ich habe den Code für asp geschrieben, um die echte IP zu erhalten, und die Umgebung verwendet, um die Situation ohne Agent, einstufigen oder mehrstufigen Agenten zu testen, und der kopierte Code kann normal abgerufen werden. Der Code lautet wie folgt:
function checkip(checkstring)' Verwenden Sie reguläre Ausdrücke, um zu bestimmen, ob die IP legal ist
dimm 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)
setze re1=nichts
Endfunktion
Kopieren Sie den Codecode wie folgt:
Funktion get_cli_ip()'Holen Sie sich die echte IP-Funktion, zuerst HTTP_CLIENT_IP, dann HTTP_X_FORWARDED_FOR und dann REMOTE_ADDR
dimmen Sie client_ip
Wenn checkip(Request.ServerVariables(HTTP_CLIENT_IP))=true, dann
get_cli_ip = checkip(Request.ServerVariables(HTTP_CLIENT_IP))
anders
MyArray = split(Request.ServerVariables(HTTP_X_FORWARDED_FOR),,)
wenn ubound(MyArray)>=0 dann
client_ip = trim(MyArray(0))
wenn checkip(client_ip)=true dann
get_cli_ip = client_ip
Exit-Funktion
Ende wenn
Ende wenn
get_cli_ip = Request.ServerVariables(REMOTE_ADDR)
Ende wenn
Endfunktion