Tenho dois servidores na intranet, um servidor de banco de dados e um servidor web. E deixe o administrador da rede mapear um IP de rede externo para o servidor Web para que a rede externa e a rede interna possam ser acessadas ao mesmo tempo. Mas isso cria um problema. O servidor Web utiliza o endereço relativo da rede interna para recuperar os dados. Desta forma, ao acessar da rede externa, os dados não podem ser obtidos e apenas o quadro pode ser exibido. Se o servidor de banco de dados também estiver mapeado, a intranet não estará acessível e não poderei depurá-la. Se os dois servidores forem combinados em um só, a velocidade de execução será afetada, e agora o patrão não quer investir mais dinheiro nisso, afinal é apenas uma demonstração. Também pode ser resolvido movendo as duas máquinas para a sala de informática da rede do laboratório e conectando-as diretamente à rede externa. Porém, a sala de informática da rede é fechada e possui cartão de acesso, por isso não posso entrar e fazer alterações com frequência.
Pensei bem e achei que esse problema deveria ser resolvido fazendo um julgamento. Basta julgar se o IP da rede acessada é o IP da rede interna ou o IP da rede externa, e realizar a operação correspondente com base no julgamento. descobri que usar JS é bom, porque o IP obtido por JS tem Uma vantagem é que ele obtém o IP definido pela máquina local. Se o computador estiver conectado à Internet através de uma LAN, ele obtém o IP da LAN do computador, ao contrário do Request. em ASP, que obtém o IP do computador conectado à Internet.
Código (copiado de outra pessoa, mas você pode consultá-lo :))
<html>
<cabeça>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JS obtém IP do cliente</title>
</head>
<corpo>
<script type="text/javascript" idioma="javascript">
<!--
função GetLocalIPAddress()
{
var obj = nulo;
var rslt = "";
tentar
{
obj = novo ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = nulo;
}
pegar (e)
{
//Ocorre exceção
}
retornar rslt;
}
document.write("Seu IP é: " + GetLocalIPAddress());
//-->
</script>
</body>
</html>
Diz-se que podem aparecer avisos durante o uso, mas isso é apenas um teste, não deve ser problema, haha :)