![]() |
Страницы (3): [1] 2 3 » Показаны 40 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 2.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=45)
-- Насчет определения ИП адресов. (http://netadmin.ws/forum/showthread.php?threadid=2384)
Насчет определения ИП адресов.
Много раз всплывала тут эта тема, что ИП определяются сервака на котором стоит форум. Даже были некотрые решения, но не у всех и не всегда работали.
Мне тут предложил хостер еще одно решение этой проблемы
В переменную окружения REMOTE_ADDR записывается IP адрес акселератора.
IP адрес посетителя теперь можно узнать из переменной окружения
HTTP_X_FORWARDED_FOR.

__________________
Enjoy!
Maksim'Rus
quote:
Только объясните мне, где определяются ИП адреса для файла online.php? Ну никак нк могу понять...
__________________
Enjoy!
Maksim'Rus
Они афаик живут в таблице sessions а туда кладутся какой-то функцией (какой конкретно, не помню) при открытии юзером очередной страницы.
$userinfo[ipaddress]
Вот это значение и есть ИП кто онлайне.
а вот понять где он задается я никак не могу.
В каком файле это задается?
maksimka добавил 01-08-2002 в 15:39:48:
Rumata
Какой скрипт заносит данные в эту таблицу?
__________________
Enjoy!
Maksim'Rus
quote:Не помню. Посмотри сам в functions.php кто пишет в таблицу sessions.
Первоначальное сообщение от maksimka
Какой скрипт заносит данные в эту таблицу?
quote:./admin/session.php
Какой скрипт заносит данные в эту таблицу?
__________________
Всегда есть решение.
Так что и куда куда надо вставить, чтобы отображались реальные ip, которые транслируются?
Вообще, можно сделать, чтобы показывалось так: Ip адрес прокси -> Ð_еальный ip ?
micron
Можно, если адреса не спрятаны.. но тогда надо в таблице еще колонку довалять.
maksimka добавил 02-08-2002 в 11:58:15:
Так, короче, я сделал у себя, но почемуто ИП только регистрированых пользователей показывается...
Делается это так:
фаил ./admin/session.php
Находим
quote:
// get first 50 chars
$HTTP_USER_AGENT=substr($HTTP_USER_AGENT,0,50);
$REMOTE_ADDR=substr($REMOTE_ADDR,0,50);
quote:
// get first 50 chars
$HTTP_USER_AGENT=substr($HTTP_USER_AGENT,0,50);
$REMOTE_ADDR=substr($HTTP_X_FORWARDED_FOR,0,50);
__________________
Enjoy!
Maksim'Rus
2maksimka
quote:
И заменяем переменную на ту в который у вас хранится реал ИП. У меня это выглядет так:
// get first 50 chars
$HTTP_USER_AGENT=substr($HTTP_USER_AGENT,0,50);
$REMOTE_ADDR=substr($HTTP_X_FORWARDED_FOR,0,50);

// get first 50 chars
$HTTP_USER_AGENT=substr($HTTP_USER_AGENT,0,50);
$REMOTE_ADDR=substr($REMOTE_ADDR,0,50);
$HTTP_X_FORWARDED_FOR=substr($HTTP_X_FORWARDED_FOR
,0,50);
__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.
Так, после добавления строки: $HTTP_X_FORWARDED_FOR=substr($HTTP_X_FORWARDED_FOR
,0,50);
Как я понял, мне будет показываться реальный ip, который скрывается под проксей, так?
quote:
Первоначальное сообщение от micron
Так, после добавления строки: $HTTP_X_FORWARDED_FOR=substr($HTTP_X_FORWARDED_FOR
,0,50);
Как я понял, мне будет показываться реальный ip, который скрывается под проксей, так?
__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.
Bratok
С чего вдруг???
Ð_то функция просто берет первые 50 символов, как ограничено в таблице.
А так ты меняешь переменную...
помоему ты не совсем прав, или я всетаки чето не догоняю.
Так как в таблицу заносится значение $REMOTE_ADDR, и оноже потом является $userinfo[ipaddress]
micron
Помоему нет... надо менять как я выше писал.
У меня сейчас все ИП нормально показываются, доже гостей.
http://forum.uobugs.ru/online.php?s=
__________________
Enjoy!
Maksim'Rus
maksimka
С твоим вариантом все работает! НО! Если смотреть юзера в Online, виден его реальный ip, а если нажать, когда он запостил ответ на IP: опеределен, то там проксик... Как сделать, чтобы и здесь фиксировался реальный IP?
Подскажи...
а это уже в файлах newpost.php и replay.php менять надо.
Тут недавно тема была, где там меняется, посмотри.
maksimka добавил 02-08-2002 в 20:23:16:
Да, только там целый скрипт предлагается, а можно просто одной строчкой как я написал.
maksimka добавил 02-08-2002 в 20:23:46:
Да, только там целый скрипт предлагается, а можно просто одной строчкой как я написал.
__________________
Enjoy!
Maksim'Rus
if ($logip==1 or $logip==2) {
if ($temp = getenv("REMOTE_ADDR")) {
$ipaddress = $temp;
} else if ($temp = $REMOTE_ADDR) {
$ipaddress = $temp;
} else {
$ipaddress = $HTTP_HOST;
}
} else {
$ipaddress="";
}
Темы не нашел, может дашь ссылку поконкретнее? Вот код, что тут менять, я не понял...
| Формат времени GMT. Текущее время 11:50. | Страницы (3): [1] 2 3 » Показаны 40 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.