The OpenNET Project / Index page

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

Как в программе, запущенной через 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:      
    Заголовок:
    Текст:



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