J'ai écrit le code pour asp pour obtenir la véritable adresse IP et utilisé l'environnement pour tester la situation sans agent, agent à un ou plusieurs niveaux, et le code copié peut être obtenu normalement. Le code est le suivant :
function checkip(checkstring)' Utiliser des expressions régulières pour déterminer si l'adresse IP est légale
faible re1
définir re1 = nouvelle RegExp
re1.pattern=^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$
re1.global = faux
re1.Ignorecase=false
checkip=re1.test(chaîne de contrôle)
définir re1 = rien
fonction de fin
Copiez le code comme suit :
function get_cli_ip()'Obtenir la vraie fonction IP, d'abord HTTP_CLIENT_IP puis HTTP_X_FORWARDED_FOR puis REMOTE_ADDR
faible client_ip
si checkip(Request.ServerVariables(HTTP_CLIENT_IP))=true alors
get_cli_ip = checkip(Request.ServerVariables(HTTP_CLIENT_IP))
autre
MonArray = split(Request.ServerVariables(HTTP_X_FORWARDED_FOR),,)
si ubound(MyArray)>=0 alors
client_ip = trim(MonArray(0))
si checkip(client_ip)=true alors
get_cli_ip = client_ip
fonction de sortie
finir si
finir si
get_cli_ip = Request.ServerVariables (REMOTE_ADDR)
finir si
fonction de fin