Форум сетевых администраторов
Показаны 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)


Помещено maksimka 31-07-2002 в 12:15:

Насчет определения ИП адресов.

Много раз всплывала тут эта тема, что ИП определяются сервака на котором стоит форум. Даже были некотрые решения, но не у всех и не всегда работали.
Мне тут предложил хостер еще одно решение этой проблемы

code:

В переменную окружения REMOTE_ADDR записывается IP адрес акселератора.
IP адрес посетителя теперь можно узнать из переменной окружения
HTTP_X_FORWARDED_FOR.



Может еще кому понадобится.
Только объясните мне, где определяются ИП адреса для файла online.php? Ну никак нк могу понять...

__________________
Enjoy!
Maksim'Rus


Помещено maksimka 01-08-2002 в 10:14:

quote:
Только объясните мне, где определяются ИП адреса для файла online.php? Ну никак нк могу понять...


Ну неужели этого никто не знает???

__________________
Enjoy!
Maksim'Rus


Помещено Rumata 01-08-2002 в 13:54:

Они афаик живут в таблице sessions а туда кладутся какой-то функцией (какой конкретно, не помню) при открытии юзером очередной страницы.


Помещено maksimka 01-08-2002 в 15:38:

$userinfo[ipaddress]
Вот это значение и есть ИП кто онлайне.
а вот понять где он задается я никак не могу.
В каком файле это задается?

maksimka добавил 01-08-2002 в 15:39:48:
Rumata
Какой скрипт заносит данные в эту таблицу?

__________________
Enjoy!
Maksim'Rus


Помещено Rumata 01-08-2002 в 16:38:

quote:
Первоначальное сообщение от maksimka
Какой скрипт заносит данные в эту таблицу?
Не помню. Посмотри сам в functions.php кто пишет в таблицу sessions.


Помещено polo 01-08-2002 в 21:44:

quote:
Какой скрипт заносит данные в эту таблицу?
./admin/session.php

__________________
Всегда есть решение.


Помещено micron 02-08-2002 в 09:34:

Так что и куда куда надо вставить, чтобы отображались реальные ip, которые транслируются?

Вообще, можно сделать, чтобы показывалось так: Ip адрес прокси -> Ð_еальный ip ?


Помещено maksimka 02-08-2002 в 11:46:

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


Помещено Bratok 02-08-2002 в 14:32:

2maksimka

quote:
И заменяем переменную на ту в который у вас хранится реал ИП. У меня это выглядет так:

// get first 50 chars
$HTTP_USER_AGENT=substr($HTTP_USER_AGENT,0,50);
$REMOTE_ADDR=substr($HTTP_X_FORWARDED_FOR,0,50);


Нужно не заменять, а просто добавить параметр.


PHP:

// 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
Не покоряйся беде, но смело иди навстречу.


Помещено micron 02-08-2002 в 18:28:

Так, после добавления строки: $HTTP_X_FORWARDED_FOR=substr($HTTP_X_FORWARDED_FOR
,0,50);


Как я понял, мне будет показываться реальный ip, который скрывается под проксей, так?


Помещено Bratok 02-08-2002 в 18:53:

quote:
Первоначальное сообщение от micron
Так, после добавления строки: $HTTP_X_FORWARDED_FOR=substr($HTTP_X_FORWARDED_FOR
,0,50);


Как я понял, мне будет показываться реальный ip, который скрывается под проксей, так?



только в том случае если прокси не аннонимный.

__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.


Помещено maksimka 02-08-2002 в 18:55:

Bratok
С чего вдруг???
Ð_то функция просто берет первые 50 символов, как ограничено в таблице.
А так ты меняешь переменную...
помоему ты не совсем прав, или я всетаки чето не догоняю.
Так как в таблицу заносится значение $REMOTE_ADDR, и оноже потом является $userinfo[ipaddress]


micron
Помоему нет... надо менять как я выше писал.
У меня сейчас все ИП нормально показываются, доже гостей.
http://forum.uobugs.ru/online.php?s=

__________________
Enjoy!
Maksim'Rus


Помещено micron 02-08-2002 в 20:08:

maksimka

С твоим вариантом все работает! НО! Если смотреть юзера в Online, виден его реальный ip, а если нажать, когда он запостил ответ на IP: опеределен, то там проксик... Как сделать, чтобы и здесь фиксировался реальный IP?

Подскажи...


Помещено maksimka 02-08-2002 в 20:20:

а это уже в файлах newpost.php и replay.php менять надо.
Тут недавно тема была, где там меняется, посмотри.

maksimka добавил 02-08-2002 в 20:23:16:
Да, только там целый скрипт предлагается, а можно просто одной строчкой как я написал.

maksimka добавил 02-08-2002 в 20:23:46:
Да, только там целый скрипт предлагается, а можно просто одной строчкой как я написал.

__________________
Enjoy!
Maksim'Rus


Помещено micron 02-08-2002 в 21:53:

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="";
}


Темы не нашел, может дашь ссылку поконкретнее? Вот код, что тут менять, я не понял...


Помещено Rumata 02-08-2002 в 22:21:

Имхо так
PHP:


if ($logip==1 or $logip==2) {
      if (
$temp = getenv("HTTP_X_FORWARDED_FOR")) {
        
$ipaddress = $temp;
      } else if (
$temp = $HTTP_X_FORWARDED_FOR) {
        
$ipaddress = $temp;
      } else if (
$temp = getenv("REMOTE_ADDR")) {
        
$ipaddress = $temp;
      } else if (
$temp = $REMOTE_ADDR) {
        
$ipaddress = $temp;
      } else {
        
$ipaddress = $HTTP_HOST;
      }
} else {
      
$ipaddress="";
}



btw вот это:

code:
      } else {
        $ipaddress = $HTTP_HOST;
      }

очень забавно =)


Помещено micron 02-08-2002 в 23:09:

Все заработало, только еще одно уточнение, попытался поиграть с параметрами, но не вышло...

IP адрес: *.*.*.197. Имя хоста: *.*.*.197. Для возвращения кликните здесь.

Ip сейчас пишется правильный, но как сделать, чтобы имя хоста выводилось, т.е. его http адрес?


Помещено maksimka 02-08-2002 в 23:15:

micron
Не всегда просто хост существует или определяется.
Или у тебя на всех постах не определяет?

__________________
Enjoy!
Maksim'Rus


Помещено micron 02-08-2002 в 23:22:

Я от себя тока тестирую.. хотя щас попробую через другого прова...

micron добавил 02-08-2002 в 23:26:40:
щас выдает вот что:

IP адрес: 194.67.2.155. Имя хоста: proxy.online.ru. Для возвращения кликните здесь.

т.е. реальный мой ip он не определил... Как и не определился он в Кто сейчас на форуме в он-лайне...


Помещено maksimka 02-08-2002 в 23:26:

просто твой ИП мржет не иметь хоста. Тогда ты будишь видеть только ИП...

maksimka добавил 02-08-2002 в 23:27:52:
а это значит что твой реал ИП в другой переменной находится...

maksimka добавил 02-08-2002 в 23:29:16:
Или так попробуй

if ($logip==1 or $logip==2) {
if ($temp = getenv("HTTP_X_FORWARDED_FOR")) {
$ipaddress = $temp;
} else if ($temp = $HTTP_X_FORWARDED_FOR) {
$ipaddress = $temp;

} else {
$ipaddress="";
}

__________________
Enjoy!
Maksim'Rus


Помещено micron 02-08-2002 в 23:34:

Тут скобки не хватает, закрывающей, и в этом варианте IP вообще не виден, т.е. не нет ссылки в сообщениях.


Помещено micron 03-08-2002 в 23:51:

А вот еще, если сделать в контрол панели поиск или отчет по IP адресам, то в верху появляется небольшая ошибка...

Warning: Address is not in a.b.c.d form in /home/forum/forums/htdocs/admin/user.php on line 1282

() [find more users for this ip]
194.67.2.155 (proxy.online.ru) [find more users for this ip]
213.80.132.164 (213.80.132.164) [find more users for this ip]
213.80.132.166 (213.80.132.166) [find more users for this ip]
213.80.132.197 (213.80.132.197) [find more users for this ip]
213.80.132.201 (213.80.132.201) [find more users for this ip]

А вот собственно и сама строка...:

echo "<li>$ip[ipaddress] (".gethostbyaddr($ip[ipaddress]).") ".makelinkcode("find more users for this ip","user.php?s=$session[sessionhash]&action=doips&ipaddress=$ip[ipaddress]")."</li>\n";


Помещено maksimka 04-08-2002 в 15:03:

micron
Ð_то он на первую пустую строку ругается. С этим скриптом определяются НЕ все ИП (у меня) иногда они вобще не определябтся и соответственно просто пусто. И когда пусто это не соответствует формату Х.Х.Х.Х

Замени

quote:
$ipaddress="";

на "0.0.0.0" и все

maksimka добавил 04-08-2002 в 15:04:19:
$ipaddress="0.0.0.0";
в смысле

__________________
Enjoy!
Maksim'Rus


Помещено micron 04-08-2002 в 17:13:

maksimka Я заменил в newreply.php и newthread.php $ipaddress=""; на $ipaddress="0.0.0.0"; , но результат все тот же, ошибка в строке: Warning: Address is not in a.b.c.d form in /home/forum/forums/htdocs/admin/user.php on line 1282

Ð_то в CP -> Users -> IP Adresses , делаю поиск по юзеру...


Помещено maksimka 05-08-2002 в 09:23:

хмм... странно... попробуй еще в sesion.php добавить тоже самое...

maksimka добавил 05-08-2002 в 09:24:06:
У меня кстати тоже возникает - но я как то спокоен

__________________
Enjoy!
Maksim'Rus


Помещено micron 05-08-2002 в 17:29:

maksimka А где в sesion.php это добавить?


Помещено maksimka 06-08-2002 в 09:28:

micron
Ну где ты менял (смотри этот топик) код, там пропиши просто через IF, тоже самое что прописано в newreplay.

__________________
Enjoy!
Maksim'Rus


Помещено micron 06-08-2002 в 09:44:

// get first 50 chars
$HTTP_USER_AGENT=substr($HTTP_USER_AGENT,0,50);
$REMOTE_ADDR=substr($HTTP_X_FORWARDED_FOR,0,50);

Как через If приписать сюда $ipaddress="0.0.0.0"; ?


Помещено micron 06-08-2002 в 20:24:

Собственно вот еще интересно… В чем проблема:

1. IP адреса Гостей я вообще не вижу, пусто там.
2. Некоторые IP не вижу то же, но когда человек оставляет пост на форуме, то там IP прописывает, правда прокси, но хоть такой. Почему тогда он не виден в : Кто сейчас на форуме?

Не из-за $ipaddress="0.0.0.0"; это?


Помещено Bratok 06-08-2002 в 21:12:

Talking

quote:
Первоначальное сообщение от micron
Собственно вот еще интересно… В чем проблема:

1. IP адреса Гостей я вообще не вижу, пусто там.
2. Некоторые IP не вижу то же, но когда человек оставляет пост на форуме, то там IP прописывает, правда прокси, но хоть такой. Почему тогда он не виден в : Кто сейчас на форуме?

Не из-за $ipaddress="0.0.0.0"; это?



что бы видеть прокси и реальный ip есть хак

если нужен, то качай...

__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.


Помещено micron 06-08-2002 в 21:19:

Я в курсе этого хака... Он выводит, если человек идет через прокси, надпись : proxy detected, но мне этого не нужно... нужно чтобы в IP: определен писался IP, и в кто в онлайне показывался IP гостей...


Помещено Bratok 06-08-2002 в 22:06:

quote:
Первоначальное сообщение от micron
Я в курсе этого хака... Он выводит, если человек идет через прокси, надпись : proxy detected, но мне этого не нужно... нужно чтобы в IP: определен писался IP, и в кто в онлайне показывался IP гостей...


этот хак выдает ip и host проксюхи...

__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.


Помещено micron 06-08-2002 в 22:09:

Ну а как сделать так, чтобы он это выдавал в IP: олределен?


Помещено Bratok 06-08-2002 в 22:38:

quote:
Первоначальное сообщение от micron
Ну а как сделать так, чтобы он это выдавал в IP: олределен?


он показывает только тогда когда есть прокси...
и показывает он на той же самой странице что и "IP: определен"

__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.


Помещено maksimka 09-08-2002 в 07:34:

quote:
Собственно вот еще интересно… В чем проблема:

1. IP адреса Гостей я вообще не вижу, пусто там.
2. Некоторые IP не вижу то же, но когда человек оставляет пост на форуме, то там IP прописывает, правда прокси, но хоть такой. Почему тогда он не виден в : Кто сейчас на форуме?

Не из-за $ipaddress="0.0.0.0"; это?

ХЗ...а ошибка пропала?
У меня ИП гостей определяются, но также не все.
Просто как я понимаю не всегда переменная $HTTP_X_FORWARDED_FOR содержит значение с адресом.
По идее если видно при посте должно быть видно и кто в онлайн.
Можно взять в sesion.php ввести новую переменную, и прописать ее также как и в newpost.php, а потом ее значение отдать как $REMOTE_ADDR

__________________
Enjoy!
Maksim'Rus


Помещено micron 09-08-2002 в 07:41:

Ошибка не пропала. Можешь кинуть код, который надо прописать а session.php?


Помещено maksimka 09-08-2002 в 09:16:

у меня вот что:
// get first 50 chars
$HTTP_USER_AGENT=substr($HTTP_USER_AGENT,0,50);
$REMOTE_ADDR=substr($HTTP_X_FORWARDED_FOR,0,50);
//$REMOTE_ADDR=substr($REMOTE_ADDR,0,50);

Определяются не все ИП, но гостевые определяются...
Нужно просто тебе узнать у хостера в какую переменную заносится реал ИП, и ее прописать.

__________________
Enjoy!
Maksim'Rus


Помещено micron 09-08-2002 в 09:26:

Так у меня это прописано уже давно


Помещено micron 02-09-2002 в 21:46:

Так, есть интересная штуковина...

1. Определяются IP, некоторые, так: ppp-47.dial.vistcom.ru , ts21-a128.Moscow.dial.rol.ru . Я так понимаю, что эти провайдеры их так передают. Но так видно только в онлайне, записывается потом IP правильный.

2. IP адрес: 10.0.1.2, 217.23. Имя хоста: . и ошибка вверху... Warning: Address is not in a.b.c.d form in /home/forum/forums/htdocs/postings.php on line 234 ...

Ищем строку:

$postinfo[hostaddress]=gethostbyaddr($postinfo[ipa
ddress]);
updateuserforum($threadinfo['forumid']);

Ip этот с Кампуса, т.е. внутренний, прокси сервера, на 10, А потом вреншний уже... Вот на нем ему и стало плохо...

Как подправить?


Помещено Serj 05-09-2002 в 13:04:

А у меня другая проблема, возможно я так думаю и не туда пишу. Допустим у нас сетка на 50 челов (без выхода в инет), со статическими IP. И у нас в Городке на полярном круге нету постоянного форума. Я загорелся vBulletin (Просто он мне понравился своей много функциональностью). Vbulletin 2.2.6 Release Candidate я нашёл его, где то во Франции. Нашел я перевод с версии 2.0.2 (но с глюками). Поставил хотя бы такой.
1) Так вот проблема, как запретить определение по IP, если статическая сеть (чтоб, токо по паролю или по другому предложите ). Могут ли они стать модераторами (сменив IP) и всё напортить или модератору обязательно надо вводить пароль? У модераторов тоже, какая то админ панель есть?
2) Чем отличается релиз кондидат (у меня такой) , от других, есть ли временные версии , и как определить версию?
3) Если тут кто то добрий найдётся, кинте мне хотя бы нормальный перевод vBulletin 2.2.6 , кто не знает вот мой e-mail serkos@rambler.ru
4) Перехватывают ли пароли снифферы?

__________________
С уважением!


Формат времени GMT. Текущее время 14:26.
Показаны 40 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.