Ru-Board.club
← Вернуться в раздел «Ikonboard v.2»

» Глюк с гостями: больше одного не показывает

Автор: Yauheni
Дата сообщения: 17.02.2002 20:17
Potap
мне тоже очень-очень надо!!!!
Попросим вместе

Добавлено
А может отправить ПС Батве, чтобы он посмотрел - он наверняка знает, т.к. здесь все нормально отображает!
Автор: Potap
Дата сообщения: 18.02.2002 05:10
Yauheni отправь по внутренней почте. Он это знает как сделать, я ему отправлял как-то он зашел дал один ответ и все.
Автор: Yauheni
Дата сообщения: 18.02.2002 12:46
Potap
отправил, теперь будем ждать его появления
Автор: batva
Дата сообщения: 18.02.2002 13:13
короче у валуя проблема, у них в REMOTE_ADDR прописывается SERVER_ADDR
покрайней мере сейчас, когда я проверяю.

Цитата:

SERVER_ADDR => 62.118.250.135
HTTP_ACCEPT_LANGUAGE => he
SERVER_PROTOCOL => HTTP/1.0
HTTP_CONNECTION => close
CHARSET_SERVER_PORT => 81
HTTP_REFERER => http://forum.ru-board.com/topic.cgi?forum=21&topic=0968&start=20
REMOTE_PORT => 4368
HTTP_USER_AGENT => Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)
HTTP_ACCEPT => */*
GATEWAY_INTERFACE => CGI/1.1
HTTP_HOST => pbf.ru:81
SERVER_SOFTWARE => Apache/1.3.19 (Unix) mod_jk PHP/4.1.1 FrontPage/4.0.4.3 rus/PL30.4
SERVER_ADMIN => webmaster@pbf.ru
REMOTE_ADDR => 62.118.250.135

ZAO MTU-Intel Валуй мля, вам наверно сильно там медом намазали, что вы толпами там хоститесь, а что суппорт то у них, не пашет? или они не езнают что-это такое? или вы не знаете?....

лечить нужно так как я говорил выше на первой странице этого топика

Цитата:

Лечится просто, нужно в икон либ в sub whosonline поменять $ENV{'REMOTE_ADDR'} на $ENV{'HTTP_X_FORWARDED_FOR'}


Potap
у тебя то работает, то не работает, ты сначало сам определись.
плюс выложи все нужные файлы скриптов в тексте и кинь мне ссылку на них по пм, посмотрю что ты там правил....


Цитата:
batva спасибо большое, теперь показываются и гости!


Цитата:
Что-то перестал он работать. Вроде все нормально было, а может показалось. В чем еще может быть проблема?


если не решишь эту проблему, значит останется только повесится
Автор: Potap
Дата сообщения: 18.02.2002 17:18
batva

Цитата:
короче у валуя проблема, у них в REMOTE_ADDR прописывается SERVER_ADDR
покрайней мере сейчас, когда я проверяю.

Я уже давненько не у валуя, но всеравно определяется ип через 'HTTP_X_FORWARDED_FOR'. Это я уже давно изменял повсякому не помогает нифига. Ошибка где-то в самом скрипте.


Цитата:
у тебя то работает, то не работает, ты сначало сам определись.
плюс выложи все нужные файлы скриптов в тексте и кинь мне ссылку на них по пм, посмотрю что ты там правил....

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


Цитата:
если не решишь эту проблему, значит останется только повесится

Да наверное уже пора Проблему эту решить не могу уже очень долгое время.
Автор: Potap
Дата сообщения: 08.05.2002 04:39
До меня тут дошло, что гости скорее всего неправильно отображаются, т.к. форум их определяет как пользователя. И форум считают что это все один пользователь и просто перемещается по форуму. Как это исправить подскажите плиз.
Автор: Alexander Ipp
Дата сообщения: 08.05.2002 20:00
Potap
Сверься с третьим дистрибутивом из архива здешнего.
Автор: Fuchsia
Дата сообщения: 10.06.2002 18:10
Эх, я тоже с таким же глюком воюю.
Для начала попробовала в икон либ в sub whosonline поменять $ENV{'REMOTE_ADDR'} на $ENV{'HTTP_X_FORWARDED_FOR'} и

Код: if ($tempusername eq "$ibtxt{'0043'}" || $userregistered eq "no") { $tempusername = "$ibtxt{'0043'}"; }
Автор: Alexander Ipp
Дата сообщения: 11.06.2002 04:44
Fuchsia
Давай сюда sub whosonline из ikon.lib.
Автор: Jovani
Дата сообщения: 11.06.2002 07:55
Alexander Ipp
Мне то-же скажи что делать, у меня та-же проблема.
Автор: Fuchsia
Дата сообщения: 11.06.2002 10:46
Alexander Ipp,
вот он:

Код: # Who's online feature.

sub whosonline {
local($instruct) = @_;
($tempusername, $where, $method) = split(/\|/, $instruct);

$guests = 0;
$members = 0;
$currenttime = time;
$userexpire = $currenttime - ($membergone * 60);

$ipaddress = $ENV{'HTTP_X_FORWARDED_FOR'};
&getmember("$inmembername");
$tempusername = "$ibtxt{'0043'} $ipaddress" if ($tempusername eq "$ibtxt{'0043'}");

$filetoopen = "$ikondir" . "data/onlinedata.dat";
$filetoopen = &stripMETA($filetoopen);
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);

open(FILE,">$filetoopen");
flock(FILE, 2);
$memberprinted = "no";
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedtime, $savedwhere) = split(/\|/, $line);
$savedusername =~ s/\_/ /g;
$tempusername =~ s/\_/ /g;
$savedusername = &unHTML($savedusername);
$tempusername = &unHTML($tempusername);
unless ("$userexpire" > "$savedtime") {
if ("$savedusername" ne "$tempusername") { print FILE "$line\n"; }
elsif ("$savedusername" eq "$tempusername") { print FILE $savedusername."|$currenttime|$where\n"; $memberprinted = "yes";}
}
} # end foreach
if ($memberprinted eq "no") { print FILE "$tempusername|$currenttime|$where\n";}
close(FILE);

if ($method eq "$ibtxt{'0016'}") {

$filetoopen = "$ikondir" . "data/onlinedata.dat";
$filetoopen = &stripMETA($filetoopen);
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedtime, $savedwhere) = split(/\|/, $line);
$lookfor = substr($savedusername, 0, 5);
if ($lookfor eq "$ibtxt{'0043'}") { $guests++; }
else {
$members++;
$cleanmember = $savedusername;
$cleanmember =~ s/ /\_/g;
$savedusername = substr($savedusername,0,20) if length $savedusername > 19;
$memberoutput .= qq~&raquo; <a href="$profileprog?action=show&member=$cleanmember">$savedusername </a>~;
}
}
}
} # end routine
Автор: BigMac
Дата сообщения: 11.06.2002 10:51
Мда.....как ни старнно, присоединяюсь...у меня тоже тока день работает...потом опять не пашет....хосер ру-хост..так что не в нем дело....ладно...ща будем еще сами пытаться, если получится - выложим
Автор: Alexander Ipp
Дата сообщения: 11.06.2002 18:28
Fuchsia
Ещё вопрос.
Если у тебя несколько гестов на конфе одновременно, то что творится в onlinedata.dat?
Там их много или один?
Автор: Fuchsia
Дата сообщения: 11.06.2002 19:05
Alexander Ipp,
Когда гостей больше одного, в onlinedata.dat показываются все, а на форуме по-прежнему отображается один.

Что забавно, когда гостей нет, то и отображается, что их нет.




Автор: Alexander Ipp
Дата сообщения: 11.06.2002 19:33

Код: $lookfor = substr($savedusername, 0, 5);
Автор: Fuchsia
Дата сообщения: 11.06.2002 19:36
Alexander Ipp,
спасибо, заменила, теперь буду в засаде сидеть, гостей ждать на перекличку. О результате доложусь.


Добавлено
А вот и результат не замедлил сказаться. У меня Guest запаролен, и получилось, что гостей на форуме нет, зато есть один пользователь под именем Guest.

Да, я, кажется, все перепутала. То, что гостей бывает больше одного, видела, когда смотрела на последнее действие посетителей - whosonline.cgi, а в файл онлайндата.дат не заглядывала. Вернее, когда смотрела, то гость там был один...
Автор: Alexander Ipp
Дата сообщения: 11.06.2002 20:37
В общем, сейчас совещались с BigMac'ом, и обнаружили, что sub whosonline - жутко кривая подпрогрпмма. Надо просто переписать... А то вообще жуть...
Автор: Fuchsia
Дата сообщения: 11.06.2002 20:49
Alexander Ipp,
если бы я еще могла сама переписать...
Если у вас там что-то нарисуется, поделитесь, плз, буду премного благодарна
Автор: Alexander Ipp
Дата сообщения: 12.06.2002 20:40
Fuchsia
Нурисуется после 15 числа.
Автор: Fuchsia
Дата сообщения: 12.06.2002 21:36
Alexander Ipp,
главное, чтобы нарисовалось.
Автор: Shurik
Дата сообщения: 13.06.2002 20:41
не помню, кто предлагал фикс данной траблы, но лично у меня все гости нормально отображаются!
т.е. на главной паге написано, сколько гостей. идем в "кто в он-лайне" - там по каждому гостю инфа.
Автор: durachka
Дата сообщения: 14.06.2002 00:17

Цитата:
не помню, кто предлагал фикс данной траблы, но лично у меня все гости нормально отображаются!
Везунчик! СОбственно говоря проблема появилась после установки какого0то из массовых хаков, который все дружно поставили, а вот что касается фикса, то лично я его на этом форуме не видел .
Автор: Fuchsia
Дата сообщения: 14.06.2002 08:07
Shurik,

Цитата:
не помню, кто предлагал фикс данной траблы, но лично у меня все гости нормально отображаются!

тот, кто предлагал, найдется, ты бы фиксом поделился, который этот неизвестный предлагал.

durachka,

Цитата:
проблема появилась после установки какого0то из массовых хаков, который все дружно поставили

Ох... теперь бы еще вспомнить, какие хаки были установлены ...
Хотя, как представлю, что снова по всем файлам рыскать, так уж лучше пусть будет один гость
Автор: Grey2002
Дата сообщения: 14.06.2002 09:01

Цитата:
ты бы фиксом поделился

во-во, точно, Шурик давай делись
Автор: pechalny
Дата сообщения: 14.06.2002 15:10
Да и у меня кстати не пашет

Цитата:
В общем, сейчас совещались с BigMac'ом, и обнаружили, что sub whosonline - жутко кривая подпрогрпмма

Автор: BigMac
Дата сообщения: 14.06.2002 16:39
Fuchsia
Тут дело не в кол-ве установленных хаков.......дело именно в процедуре этой.......мы пока с иванком не придумали как это пофиксить......Ипп обещал помочь после 15-го..будем его ждать......
Автор: Grey2002
Дата сообщения: 14.06.2002 16:46
Shurik
говорят всё дело в sub whosonline... кинь свой кусок..
Автор: Fuchsia
Дата сообщения: 14.06.2002 22:28
BigMac,
я и жду, только активно жду
Автор: Shurik
Дата сообщения: 15.06.2002 00:45
окей, ловите люди.
может поможет:

Код: # Who's online feature.

sub whosonline {
local($instruct) = @_;
($tempusername, $where, $method) = split(/\|/, $instruct);

$guests = 0;
$members = 0;
$currenttime = time;
$membergone = 30;
$userexpire = $currenttime - ($membergone * 60);

$ipaddress = $ENV{'REMOTE_ADDR'};
$logname = $tempusername;
&getmember("$inmembername");
$tempusername = "$ibtxt{'0043'} $ipaddress" if ($tempusername eq "$ibtxt{'0043'}");

$filetoopen = "$ikondir" . "data/onlinedata.dat";
$filetoopen = &stripMETA($filetoopen);
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);

open(FILE,">$filetoopen");
flock(FILE, 2);
$memberprinted = "no";
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedtime, $savedwhere) = split(/\|/, $line);
$savedusername =~ s/\_/ /g;
$tempusername =~ s/\_/ /g;
$savedusername = &unHTML($savedusername);
$tempusername = &unHTML($tempusername);
unless ("$userexpire" > "$savedtime") {
if ("$savedusername" ne "$tempusername") { print FILE "$line\n"; }
elsif ("$savedusername" eq "$tempusername") { print FILE $savedusername."|$currenttime|$where\n"; $memberprinted = "yes";}
}
} # end foreach
if ($memberprinted eq "no") { print FILE "$tempusername|$currenttime|$where\n";}
close(FILE);
$referer = $ENV{'HTTP_REFERER'};
$browser = $ENV{'HTTP_USER_AGENT'};
$media = $ENV{'HTTP_ACCEPT'};

if ($method eq "$ibtxt{'0016'}") {

$filetoopen = "$ikondir" . "data/onlinedata.dat";
$filetoopen = &stripMETA($filetoopen);
open(FILE,"$filetoopen");
@onlinedata = <FILE>;
close(FILE);
foreach $line (@onlinedata) {
chomp $line;
($savedusername, $savedtime, $savedwhere) = split(/\|/, $line);
$lookfor = substr($savedusername, 0, 5);
if ($lookfor eq "$ibtxt{'0043'}") { $guests++; }
else {
$members++;
$cleanmember = $savedusername;
$cleanmember =~ s/ /\_/g;
$savedusername = substr($savedusername,0,20) if length $savedusername > 19;
$memberoutput .= qq~&raquo; <a href="$profileprog?action=show&member=$cleanmember">$savedusername </a>~;
}
}
}
} # end routine
Автор: Grey2002
Дата сообщения: 15.06.2002 04:28
После этого

Код: $currenttime = time;

Страницы: 12345

Предыдущая тема: Баг с Яваскриптом (javascript) во всех версиях IkonBoard


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.