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.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Помогите выбрать программу
Помогите выбрать программу
11 impak 1347 11.12.2017, 13:11
автор: Mikki
Открытая тема (нет новых ответов) Instagram: забрать себе неактивное имя пользователя
6 DiscordPro 628 11.12.2017, 9:35
автор: Зотов
Открытая тема (нет новых ответов) Помогите найти плагин на WP
Отзывы с профилей соц сетей
1 SEOMR 442 30.11.2017, 7:18
автор: Nell
Открытая тема (нет новых ответов) Помогите найти проблему
Долгий ответ сервера
6 maxim1249 694 29.11.2017, 17:27
автор: genjnat
Открытая тема (нет новых ответов) Помогите оценить новотник. Плиз
1 Alex-777 527 29.11.2017, 7:18
автор: grumdas


 



RSS Текстовая версия Сейчас: 16.12.2017, 11:17
Дизайн