У меня есть два сервера в интрасети: сервер базы данных и веб-сервер. И позвольте сетевому администратору сопоставить IP-адрес внешней сети с веб-сервером, чтобы обеспечить одновременный доступ к внешней и внутренней сети. Но это создает проблему: веб-сервер использует относительный адрес внутренней сети для получения данных. Таким образом, при доступе из внешней сети данные не могут быть получены и может отображаться только кадр. Если сервер базы данных также сопоставлен, интрасеть будет недоступна, и я не смогу ее отладить. Если два сервера объединить в один, это повлияет на скорость работы, и теперь босс не хочет больше вкладывать в это деньги, ведь это всего лишь демонстрация. Эту проблему также можно решить, переместив две машины в сетевой компьютерный зал лаборатории и подключив их напрямую к внешней сети. Однако сетевой компьютерный зал закрыт и имеет карту доступа, поэтому я не могу часто входить и вносить изменения.
Я тщательно обдумал это и почувствовал, что эту проблему следует решить, приняв решение. Просто определите, является ли доступ IP-адресом внутренней сети или IP-адресом внешней сети, и выполните соответствующую операцию на основе решения. обнаружил, что использование JS полезно, поскольку IP-адрес, полученный с помощью JS, имеет одно преимущество: он получает IP-адрес, установленный локальным компьютером. Если компьютер подключен к Интернету через локальную сеть, он получает IP-адрес локальной сети компьютера, в отличие от запроса. в ASP, который получает IP-адрес компьютера, подключенного к Интернету.
Код (скопирован у кого-то другого, но вы можете на него сослаться :) )
<html>
<голова>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JS получает IP-адрес клиента</title>
</head>
<тело>
<script type="text/javascript" Language="javascript">
<!--
функция GetLocalIPAddress()
{
вар объект = ноль;
вар rslt = "";
пытаться
{
obj = новый ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
объект = ноль;
}
поймать(е)
{
//Происходит исключение
}
вернуть рслт;
}
document.write("Ваш IP: " + GetLocalIPAddress());
//-->
</скрипт>
</body>
</html>
Говорят, что во время использования могут появляться предупреждения, но это всего лишь проверка, проблем быть не должно, хаха :)