проблема с разрешенными IP для debug

Уже исправленные репорты или принятые предложения
Ответить
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

проблема с разрешенными IP для debug

Сообщение 3ton »

Конфигурация сервера такова что фронтом стоит Nginx который прокидывает запросы на виртуалки с апачем. как следствие запрос извне выглядит с REMOTE_ADDR принадлежащим хостовой машине на которой стоит nginx

Если я пытаюсь настроить доступ по внешним адресам, то тулбар не отображается, если я привязываюсь к адресу хостовой машины - то тулбар отображается для любого человека зашедшего на сайт.

Думаю что REMOTE_ADDR необходимо использовать лишь если пусты HTTP_X_REAL_IP и HTTP_X_FORWARDED_FOR
Aibolit
Сообщения: 31
Зарегистрирован: 2012.12.18, 23:38

Re: проблема с разрешенными IP для debug

Сообщение Aibolit »

Копайте в сторону mod_rpaf для apache. Будет показывать реальный адрес.
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: проблема с разрешенными IP для debug

Сообщение 3ton »

Сдается что реализация vendor/yiisoft/yii2/web/Request.php не совсем соответствует правильной реализации
в проектах с достаточным подходом к приватности - он будет отрабатывать не верно

Код: Выделить всё

    /**
     * Returns the user IP address.
     * @return string user IP address. Null is returned if the user IP address cannot be detected.
     */
    public function getUserIP()
    {
        return isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null;
    }

http://eddnet.org/?p=1553
http://stackoverflow.com/questions/3003 ... ess-in-php
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: проблема с разрешенными IP для debug

Сообщение 3ton »

Aibolit писал(а):Копайте в сторону mod_rpaf для apache. Будет показывать реальный адрес.
дело не только в "моей" структуре сети, но и в том что люди сидят за натом и прокси и часто приходится отличать одного клиента от другого
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: проблема с разрешенными IP для debug

Сообщение samdark »

HTTP_X_REAL_IP и HTTP_X_FORWARDED_FOR — это HTTP заголовки. Их кто угодно может послать какие угодно без каких-либо проблем. В том числе и 127.0.0.1. $_SERVER['REMOTE_ADDR'] — это уже TCP/IP, который без вклинивания в сеть не поменять. Тут просто вопрос безопасности. Нужен HTTP_X_FORWARDED_FOR — перекрывайте метод в Request.
Ответить