Escrevi o código para asp para obter o IP real e usei o ambiente para testar a situação de nenhum agente, agentes de um nível ou multinível, e o código copiado pode ser obtido normalmente.
function checkip(checkstring)' Use expressões regulares para determinar se o IP é legal
escurecer re1
definir re1 = novo RegExp
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(string de verificação)
definir re1 = nada
função final
Copie o código do código da seguinte forma:
function get_cli_ip()'Obtenha a função IP real, primeiro HTTP_CLIENT_IP, depois HTTP_X_FORWARDED_FOR e depois REMOTE_ADDR
escurecer client_ip
se checkip(Request.ServerVariables(HTTP_CLIENT_IP))=true então
get_cli_ip = checkip(Request.ServerVariables(HTTP_CLIENT_IP))
outro
MeuArray = split(Request.ServerVariables(HTTP_X_FORWARDED_FOR),,)
se ubound(MyArray)>=0 então
client_ip = trim(MyArray(0))
se checkip(client_ip)=true então
get_cli_ip=client_ip
função de saída
terminar se
terminar se
get_cli_ip=Solicitação.ServerVariables(REMOTE_ADDR)
terminar se
função final