Проблема frontend-backend

Andrey N. Oktyabrski ano at antora.ru
Mon Mar 13 08:39:45 MSK 2006


Дмитрий wrote:
> Господа, на эту тему возникла еще одна проблема...
> vBulletin говорит, что все юзера зашли с одного IP: 127.0.0.1
> в следствии чего невозможно авторизироваться... Превышено количество попыток
> авторизации :)
> в конфиге указанно:
>             proxy_set_header   Host             $host;
>             proxy_set_header   X-Real-IP        $remote_addr;
>             proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
> phpinfo() все показывает правильно, а вот считалка одновременно сидящих на
> сайте http://www.2baksa.net показывает 1 юзера (стопудово 127.0.0.1)  
А какой версии vbb? У нас нормально это обрабатывает вот такой хреновиной:
         /**
         * Fetches an alternate IP address of the current visitor, 
attempting to detect proxies etc.
         *
         * @return       string
         */
         function fetch_alt_ip()
         {
                 if (isset($_SERVER['HTTP_CLIENT_IP']))
                 {
                         $alt_ip = $_SERVER['HTTP_CLIENT_IP'];
                 }
                 else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND 
preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches))
                 {
                         // make sure we dont pick up an internal IP 
defined by RFC1918
                         foreach ($matches[0] AS $ip)
                         {
                                 if 
(!preg_match("#^(10|172\.16|192\.168)\.#", $ip))
                                 {
                                         $alt_ip = $ip;
                                         break;
                                 }
                         }
                 }
                 else if (isset($_SERVER['HTTP_FROM']))
                 {
                         $alt_ip = $_SERVER['HTTP_FROM'];
                 }
                 else
                 {
                         $alt_ip = $_SERVER['REMOTE_ADDR'];
                 }

                 return $alt_ip;
         }
}

Но было дело пару (или больше? точно не помню) лет назад, приходилось 
его хачить на эту тему. Как раз когда я mod_accel впервые поставил, 
сразу и напоролся на такое недостойное поведение vbb :-)





More information about the nginx-ru mailing list