Как узнать порт (назначенный nat), с которого осуществляется соединение с веб-сервером - PullRequest
4 голосов
/ 12 июля 2011

В основном у меня есть доступ к серверу Apache, и я хочу создать приложение прохождения NAT. Я думал о случайных попытках портов с обеих сторон, но быстро отказался от этой идеи. У меня нет возможности запускать программное обеспечение на сервере или открывать какие-либо порты, но настройки Apache могут быть изменены.

Теперь мой вопрос: есть ли способ для веб-сервера определить, с какой точки отправляется входящее соединение? Я знаю, что веб-сервер должен хранить его в памяти, чтобы отправлять сгенерированный html на соответствующий ip и порт, иначе система NAT прервет http. Но как мне получить порт? Я думаю, что какой-то вариант регистрации, но я не могу найти ничего полезного. Или, возможно, функция PHP ...

Ответы [ 2 ]

3 голосов
/ 12 июля 2011

Попробуйте $_SERVER['REMOTE_PORT'], который будет портом, к которому подключается шлюз NAT пользователя. Аналогично, $_SERVER['REMOTE_ADDR'] будет IP-адресом шлюза пользователя.

0 голосов
/ 08 декабря 2013

попробуй <?php echo $_SERVER['REMOTE_PORT']; ?>

...