|
|
|
| Что имеем:
На прокси (winroute) при попытке посещения, например porno.ru, происходит переадресция на локальный web-сервер на страничку (http://10.0.0.10/block.php), сообщающую, что доступ заблокирован.
Web-сервер в локальной сети работает нормально.
Что надо:
Необходимо, чтобы на block.php выводилось:
1) имя машины в локальной сети или IP;
2) адрес сайта (не странички, а только сайта) с которого была сделана переадресация (прокси-сервером) на локальный web-сервер.
Что сделано:
echo "Ваш IP-адрес ".$_SERVER['REMOTE_ADDR']."<br>";
echo "Вы пришли с ".$_SERVER['HTTP_REFERER']."<br>";
echo gethostbyaddr($_SERVER['REMOTE_ADDR']);
|
Результат:
Ваш IP-адрес 10.0.0.10
Вы пришли с (здесь пусто)
server.domain.local
Т.е. у пользователя отображается IP севера, а не его. И имя машины сервера, а не имя машины пользователя.
Не отображается с какой страницы (или сайта) был сделан редирект прокси-сервером. | |
|
|
|
|
|
|
|
для: AlexVS
(12.07.2007 в 06:44)
| | Если обратный прокси-сервер используется, то IP-адрес клиента должен извлекаться из переменной окружения HTTP_X_FORWARDED_FOR, а не REMOTE_ADDR... Впрочем это можно обойти, если поколдовать с модулем mod_setenvif - он позволяет переопределять переменные окружения. | |
|
|
|