![]() |
Показаны 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="";
}
Темы не нашел, может дашь ссылку поконкретнее? Вот код, что тут менять, я не понял...
Имхо так
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="";
}
} else {
$ipaddress = $HTTP_HOST;
}
Все заработало, только еще одно уточнение, попытался поиграть с параметрами, но не вышло...
IP адрес: *.*.*.197. Имя хоста: *.*.*.197. Для возвращения кликните здесь.
Ip сейчас пишется правильный, но как сделать, чтобы имя хоста выводилось, т.е. его http адрес?
micron
Не всегда просто хост существует или определяется.
Или у тебя на всех постах не определяет?
__________________
Enjoy!
Maksim'Rus
Я от себя тока тестирую.. хотя щас попробую через другого прова...
micron добавил 02-08-2002 в 23:26:40:
щас выдает вот что:
IP адрес: 194.67.2.155. Имя хоста: proxy.online.ru. Для возвращения кликните здесь.
т.е. реальный мой ip он не определил... Как и не определился он в Кто сейчас на форуме в он-лайне...
просто твой ИП мржет не иметь хоста. Тогда ты будишь видеть только ИП...
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
Тут скобки не хватает, закрывающей, и в этом варианте IP вообще не виден, т.е. не нет ссылки в сообщениях.
А вот еще, если сделать в контрол панели поиск или отчет по 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";
micron
Ð_то он на первую пустую строку ругается. С этим скриптом определяются НЕ все ИП (у меня) иногда они вобще не определябтся и соответственно просто пусто. И когда пусто это не соответствует формату Х.Х.Х.Х
Замени
quote:
$ipaddress="";
__________________
Enjoy!
Maksim'Rus
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 , делаю поиск по юзеру...
хмм... странно... попробуй еще в sesion.php добавить тоже самое...
maksimka добавил 05-08-2002 в 09:24:06:
У меня кстати тоже возникает - но я как то спокоен
__________________
Enjoy!
Maksim'Rus
maksimka А где в sesion.php это добавить?
micron
Ну где ты менял (смотри этот топик) код, там пропиши просто через IF, тоже самое что прописано в newreplay.
__________________
Enjoy!
Maksim'Rus
// 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"; ?
Собственно вот еще интересно… В чем проблема:
1. IP адреса Гостей я вообще не вижу, пусто там.
2. Некоторые IP не вижу то же, но когда человек оставляет пост на форуме, то там IP прописывает, правда прокси, но хоть такой. Почему тогда он не виден в : Кто сейчас на форуме?
Не из-за $ipaddress="0.0.0.0"; это?
quote:
Первоначальное сообщение от micron
Собственно вот еще интересно… В чем проблема:
1. IP адреса Гостей я вообще не вижу, пусто там.
2. Некоторые IP не вижу то же, но когда человек оставляет пост на форуме, то там IP прописывает, правда прокси, но хоть такой. Почему тогда он не виден в : Кто сейчас на форуме?
Не из-за $ipaddress="0.0.0.0"; это?


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

__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.
Ну а как сделать так, чтобы он это выдавал в IP: олределен?
quote:
Первоначальное сообщение от micron
Ну а как сделать так, чтобы он это выдавал в IP: олределен?
__________________
Tu ne cede malis, sed contra audehtior
Не покоряйся беде, но смело иди навстречу.
quote:
Собственно вот еще интересно… В чем проблема:
1. IP адреса Гостей я вообще не вижу, пусто там.
2. Некоторые IP не вижу то же, но когда человек оставляет пост на форуме, то там IP прописывает, правда прокси, но хоть такой. Почему тогда он не виден в : Кто сейчас на форуме?
Не из-за $ipaddress="0.0.0.0"; это?
__________________
Enjoy!
Maksim'Rus
Ошибка не пропала. Можешь кинуть код, который надо прописать а session.php?
у меня вот что:
// 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
Так у меня это прописано уже давно 
Так, есть интересная штуковина...
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, А потом вреншний уже... Вот на нем ему и стало плохо...
Как подправить?
А у меня другая проблема, возможно я так думаю и не туда пишу. Допустим у нас сетка на 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.