X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> определяется Ip адрес пользователя в Vbulletin. Помогите разобраться., Выдаёт IP сервера для всех
SammoLove
SammoLove
Topic Starter сообщение 19.4.2010, 13:41; Ответить: SammoLove
Сообщение #1


Завсегдатай
*****

Группа: Active User
Сообщений: 649
Регистрация: 15.11.2007
Из: Харьков
Поблагодарили: 73 раза
Репутация:   12  


Помогите, пожалуйста, разобраться. Движок vbulletin определяет IP адрес сервера вместо адреса пользователя. Из-за этого проблемы. Сервер linux, apache, nginx. Всё последних стабильных версий. Я нашёл кусок кода в файле class_core.php, который по всей видимости как раз и определяет IP. Можете пробежать взглядом и дать совет? Что может быть не так

/**
    * Fetches the IP address of the current visitor
    *
    * @return    string
    */
    function fetch_ip()
    {
        return $_SERVER['REMOTE_ADDR'];
    }

    /**
    * Fetches an alternate IP address of the current visitor, attempting to detect proxies etc.
    *
    * @return    string
    */
    function fetch_alt_ip()
    {
        $alt_ip = $_SERVER['REMOTE_ADDR'];

        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))
        {
            // try to avoid using an internal IP address, its probably a proxy
            $ranges = array(
                '10.0.0.0/8' => array(ip2long('10.0.0.0'), ip2long('10.255.255.255')),
                '127.0.0.0/8' => array(ip2long('127.0.0.0'), ip2long('127.255.255.255')),
                '169.254.0.0/16' => array(ip2long('169.254.0.0'), ip2long('169.254.255.255')),
                '172.16.0.0/12' => array(ip2long('172.16.0.0'), ip2long('172.31.255.255')),
                '192.168.0.0/16' => array(ip2long('192.168.0.0'), ip2long('192.168.255.255')),
            );
            foreach ($matches[0] AS $ip)
            {
                $ip_long = ip2long($ip);
                if ($ip_long === false)
                {
                    continue;
                }

                $private_ip = false;
                foreach ($ranges AS $range)
                {
                    if ($ip_long >= $range[0] AND $ip_long <= $range[1])
                    {
                        $private_ip = true;
                        break;
                    }
                }

                if (!$private_ip)
                {
                    $alt_ip = $ip;
                    break;
                }
            }
        }
        else if (isset($_SERVER['HTTP_FROM']))
        {
            $alt_ip = $_SERVER['HTTP_FROM'];
        }

        return $alt_ip;
    }
}


Сообщение отредактировал SammoLove - 19.4.2010, 13:43


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
life
life
сообщение 19.4.2010, 14:26; Ответить: life
Сообщение #2


Завсегдатай
*****

Группа: Active User
Сообщений: 921
Регистрация: 28.1.2009
Поблагодарили: 147 раз
Репутация:   -4  


к хостеру, у него проблемы

Сообщение отредактировал life - 19.4.2010, 14:26
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SammoLove
SammoLove
Topic Starter сообщение 20.4.2010, 15:23; Ответить: SammoLove
Сообщение #3


Завсегдатай
*****

Группа: Active User
Сообщений: 649
Регистрация: 15.11.2007
Из: Харьков
Поблагодарили: 73 раза
Репутация:   12  


Эээ, хостера нет. У меня VDS.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Помогите, пожалуйста, моей дочери выжить!
благотворительный топик
30 vitvirtual 3813 19.5.2018, 8:30
автор: vitvirtual
Открытая тема (нет новых ответов) Продвигаю страницу по запросу "Как сделать игру". Помогите советом, пожалуйста
Я секу в теме! Но подать статью угодным поисковикам образом не смо
22 coremission 2213 8.5.2018, 12:33
автор: coremission
Открытая тема (нет новых ответов) Помогите с выбором ноута
20 rokot 918 23.4.2018, 12:09
автор: Room
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыПомогите с идеями для форума про успех
Спасибо за каждую идею
43 Zoya83 5192 12.4.2018, 11:42
автор: Zoya83
Открытая тема (нет новых ответов) Лендинг или сайт-визитка для ИП? Помогите определиться
6 Yas18 1143 31.3.2018, 20:57
автор: Yas18


 



RSS Текстовая версия Сейчас: 27.5.2018, 4:26
Дизайн