The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Как в программе, запущенной через inetd, узнать IP адрес клиента.
В /etc/hosts.allow (man hosts_access;man hosts_options):
# IP в REMOTE_ADDR
  popa3d: ALL : setenv REMOTE_ADDR %a : allow
# имя хоста в REMOTE_ADDR
  popa3d: ALL : setenv REMOTE_ADDR %h : allow
В программе IP адрес получаем через getenv("REMOTE_ADDR").
 
07.10.2002
Ключи: inetd, access, ip / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / Прокси сервер Squid / ACL, ограничения трафика и пользователей

Обсуждение [ RSS ]
  • 1, Владимир (??), 19:10, 24/01/2018 [ответить]  
  • +/
    Столкнулся с этой проблемой. Описанный способ на PHP скрипте не заработал, позвращает пустые значение, массивы $_ENV, $_SERVER тоже пустые. На буржуйских форумах тоже ничего. Но вот победил, может кому то пригодится:
    $f=fopen("php://stdin","r");
    $remoteIP = stream_socket_get_name($f, true);
    echo $remoteIP;

    Там еще порт, думаю знаете как убрать)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру