Escribí el código para asp para obtener la IP real y utilicé el entorno para probar la situación sin agente, de un nivel o de varios niveles, y el código copiado se puede obtener normalmente. El código es el siguiente:
función checkip(checkstring)' Utilice expresiones regulares para determinar si la IP es legal
tenue re1
establecer re1 = nueva expresión regular
re1.pattern=^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$
re1.global=falso
re1.Ignorecase=falso
checkip=re1.test(cadena de verificación)
establecer re1 = nada
función final
Copie el código de código de la siguiente manera:
función get_cli_ip()'Obtener la función IP real, primero HTTP_CLIENT_IP luego HTTP_X_FORWARDED_FOR luego REMOTE_ADDR
ip_cliente tenue
si checkip(Request.ServerVariables(HTTP_CLIENT_IP))=true entonces
get_cli_ip = checkip(Request.ServerVariables(HTTP_CLIENT_IP))
demás
MiArray = dividir(Request.ServerVariables(HTTP_X_FORWARDED_FOR),,)
si ubound(MyArray)>=0 entonces
client_ip = recortar(Mimatriz(0))
si checkip(client_ip)=true entonces
get_cli_ip = ip_cliente
función de salida
terminar si
terminar si
get_cli_ip = Solicitud.ServerVariables(REMOTE_ADDR)
terminar si
función final