Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Закрываем все пути к профилю гостя (Guest)

Модерирует : Antuan

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

Xnom



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Закрываем все пути к профилю "гостя"

 
В topic.cgi

Код:
 
   <td bgcolor="$postbackcolor" valign=top width=80% height=100%><font face="$font" color=$postfontcolor size=$dfontsize1>
            $editgraphic $partition $profilegraphic $homepagegraphic $emailgraphic $privatemessagegraphic $aolgraphic $icqgraphic $partition $replygraphic
        </font><hr size=1 width=100% color=$tablebordercolor>
            <font face="$font" color=$postfontcolor size=$dfontsize2>
           $post
</td>

меняем на

Код:
 
  <td bgcolor="$postbackcolor" valign=top width=80% height=100%><font face="$font" color=$postfontcolor size=$dfontsize1>
            <a name="$editpostnumber"> $editgraphic $partition ~;
            if ($membername ne "Guest") {
            $output .= qq~ $profilegraphic ~;
            }
            $output .= qq~ $homepagegraphic $emailgraphic $privatemessagegraphic $aolgraphic $icqgraphic $partition $replygraphic
        </font><hr size=1 width=100% color=$tablebordercolor>
            <font face="$font" color=$postfontcolor size=$dfontsize2>
           $post
</td>

 
 
В forums.cgi

Код:
 $lastposter = qq~<a href="$profileprog?action=show&member=$lastposterfilename">$lastposter</a>~;

меняем на

Код:
if ($lastposter ne "Guest") {
$lastposter = qq~<a href="$profileprog?action=show&member=$lastposterfilename">$lastposter</a>~;
                        } else {
                        $lastposter = qq~ $lastposter ~;
                        }

                         
Чуть ниже

Код:
<br>$ibtxt{'0615'} <a href="$profileprog?action=show&member=$startedbyfilename"><b>$startedby</b></a></td>

меняем на

Код:
<br>$ibtxt{'0615'} ~;
                                if($startedby ne "Guest"){ $output .= qq~
                                <a href="$profileprog?action=show&member=$startedbyfilename"><b>$startedby</b></a> ~;}
                                else { $output .= qq~
                                <b>$startedby</b> ~;}
                                $output .= qq~
                                </td>

                                 
                                 
Открываем ikonboard.cgi и

Код:
$output .= qq~  
            <br>$lastpost
            <br>$ibtxt{'0616'} <a href="$profileprog?action=show&member=$lastposterfilename">$lastposter</a>
    ~;  }

меняем на

Код:
$output .= qq~  
            <br>$lastpost
            <br>$ibtxt{'0616'}~;
            if ($lastposter ne "Guest"){$output .= qq~
             <a href="$profileprog?action=show&member=$lastposterfilename">$lastposter</a> ~;}
             else{$output .= qq~ $lastposter ~;}
      }  

       
       
В файле ikon.lib

Код:
<a href="$homeurl">Главная</a> | <a href="$profileprog">$ibtxt{'0111'}</a> | <a href="$onlineprog">$ibtxt{'0113'}</a> | <a href="javascript:openScript('$helpprog',500,400)">$ibtxt{'0114'}</a> | <a href="$searchprog">$ibtxt{'0119'}</a>

меняем на

Код:
<a href="$homeurl">Главная</a>~;
                 if ($inmembername ne "Guest"){$output .= qq~ | <a href="$profileprog">$ibtxt{'0111'}</a> | <a href="$onlineprog">$ibtxt{'0113'}</a>~;
                 }
                 $output .= qq~ | <a href="javascript:openScript('$helpprog',500,400)">$ibtxt{'0114'}</a> | <a href="$searchprog">$ibtxt{'0119'}</a>

                 
                 
Последнее, открываем profile.cgi и в "sub modify {" после строк

Код:
 
if ($userregistered eq "no") { &error("$ibtxt{'1828'}&$ibtxt{'1829'}"); }
if ($inpassword ne $password) { &error("$ibtxt{'1828'}&$ibtxt{'1830'}"); }

добавляем такую строчку

Код:
 
if ($inmembername eq "Guest") { &error("$ibtxt{'1828'}&С чего Вы взяли, что у гостя есть профиль??"); }

Всего записей: 778 | Зарегистр. 09-10-2002 | Отправлено: 22:56 25-11-2002 | Исправлено: lynx, 05:30 29-06-2003
DDfans



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Заменив
$lastposter = qq~<a href="$profileprog?action=show&member=$lastposterfilename">$lastposter</a>~;
на
$lastposter = qq~<a href="$profileprog?action=show&member=$lastposterfilename">$lastposter</a>~;  
                        } else {  
                        $lastposter = qq~ $lastposter ~;  
                        }
в логах выдается: syntax error FORUMS.CGI line 343, near "} else"
 
Я думаю аналог указанной вами "чуть ниже" и мною модифицированный привел к исправлению ошибки и меня выручил:
 
                        if ($lastposter ne "Guest") {$lastposter = qq~<a href="$profileprog?action=show&member=$lastposterfilename">$lastposter</a>~;} else {$lastposter = qq~$lastposter~;}

Всего записей: 59 | Зарегистр. 24-11-2002 | Отправлено: 00:04 17-12-2002
Xnom



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DDfans

Цитата:
Я думаю аналог указанной вами "чуть ниже" и мною модифицированный привел к исправлению ошибки и меня выручил

хорошее замечание. ща в своем сообщении поправлю

Всего записей: 778 | Зарегистр. 09-10-2002 | Отправлено: 00:19 17-12-2002
Wozik



Ёж
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а если так?
/ikonboard/profile.cgi?action=show&member=Guest
 
 

Код:
################ show profile subroutine
 
sub showprofile {
    &whosonline("$inmembername|$ibtxt{'1813'}|$ibtxt{'1602'}");
$inmember =~ s/\_/ /isg;
 
&getmember("$inmember");
 
        if ($inmembername eq "Guest") { &error("$ibtxt{'1828'}&Гостям сюда лазить НЕ ПОЛОЖЕНО!"); }
   if ($showemail ne "yes") { $emailaddress = "Private"; }
       else { $emailaddress = qq~<a href="mailto:$emailaddress">$emailaddress</a>~; }

..ну мы же закрываем все пути
 
Добавлено
=)
интерессно:
после установки фикса если всё же попробовать залогиниться гостем для правки профиля, то появляется значок "Проверить почту", типо есть новый ПМ
я аж офигел сначала: НУ КТО МНЕ МОГ ПМ НАПИСАТЬ??!!ФОРУМ НА ЛОКАЛХОСТЕ

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 21:08 20-08-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wozik
 

Цитата:
sub showprofile {  
    &whosonline("$inmembername|$ibtxt{'1813'}|$ibtxt{'1602'}");  
$inmember =~ s/\_/ /isg;  
 
&getmember("$inmember");  
 
        if ($inmembername eq "Guest") { &error("$ibtxt{'1828'}&Гостям сюда лазить НЕ ПОЛОЖЕНО!"); }  

 
 
Ты сделал следующее: если пользователь не залогинен, то он не может смотреть профили других пользователей. Зачем это?
 
 
 

Цитата:
интерессно:  
после установки фикса если всё же попробовать залогиниться гостем для правки профиля, то появляется значок "Проверить почту", типо есть новый ПМ  
я аж офигел сначала: НУ КТО МНЕ МОГ ПМ НАПИСАТЬ??!!ФОРУМ НА ЛОКАЛХОСТЕ  

 
 
Видимо, у тебя генерируется пм каждому новому участнику?

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 22:51 20-08-2004
Wozik



Ёж
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx

Цитата:
Ты сделал следующее: если пользователь не залогинен, то он не может смотреть профили других пользователей. Зачем это?

мде..выделился..=((
 
я хотел чтоб так гость свой профиль посмотреть не смог
хех =(
 

Цитата:
Видимо, у тебя генерируется пм каждому новому участнику?

хм..нет

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 11:41 21-08-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wozik

Цитата:
Видимо, у тебя генерируется пм каждому новому участнику?  
 
хм..нет

 
 
Ну, а как гость у тебя логиниться?
 
 
Смотри, если вбить в форму логин lynx и пустой пароль, то ты войдешь на главную и увидишь пм пришел (типа для lynx), но пойти почитать ты не сможешь.  Так что это не страшно.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 22:39 21-08-2004
Wozik



Ёж
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx

Цитата:
Смотри, если вбить в форму логин lynx и пустой пароль, то ты войдешь на главную и увидишь пм пришел (типа для lynx), но пойти почитать ты не сможешь.  Так что это не страшно.

да, я пробовал почитать-не вышло
просто интерессно как так получается

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 23:14 21-08-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wozik

Цитата:
просто интерессно как так получается

 
Скрипт читает кукис ник и ikonboard.cgi согласно этому коду:
 

Код:
 
 
 $tempcookie = cookie(-name    =>   "templastvisit",
                         -value   =>   "$lvisit",
                         -path    =>   "$cookiepath");
    print header(-cookie  =>[$cookie, $tempcookie]);
    }
     
 

 
 
берет куку имени и выдает страницу как бы для этого ника. Для скриптов же типа post.cgi, messenger.cgi нужна еще кука пароля.  
 

Код:
 
if ($action eq "loggedin") {
$namecookie = cookie(-name    =>   "amembernamecookie",
                     -value   =>   "$inmembername",
                     -path    =>   "$cookiepath",
                     -expires =>   "+30d");
$passcookie = cookie(-name    =>   "apasswordcookie",
                     -value   =>   "$inpassword",
                     -path    =>   "$cookiepath",
                     -expires =>   "+30d");
 

Поэтому читать чужие пм не получается и постить под чужим ником тоже.
 
Если интересно, читай, что такое cookies и с чем их едят.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 00:32 22-08-2004
Wozik



Ёж
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да нет, мне не понятно откуда берётся ПМ несуществующий

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 01:51 22-08-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Wozik

Цитата:
 мне не понятно откуда берётся ПМ несуществующий

 
Так ты опиши, как логинишься. Под кем? Юзер, под которым ты логинишься, у него есть пм?
Либо зайди в папку messages и посмотри, нет ли там файла, в названии которого есть слово Guest.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 02:14 22-08-2004
DDfans



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx

Цитата:
Ты сделал следующее: если пользователь не залогинен, то он не может смотреть профили других пользователей. Зачем это?

Это тоже хорошая идея, но для тех, кто использует свои форумы как можно приватнее. А вдруг я не захочу, чтоб всякие боты и прочие гости лазили по профилям моих участников? Пригодится кому-нить обязательно.

Всего записей: 59 | Зарегистр. 24-11-2002 | Отправлено: 11:42 22-08-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DDfans

Цитата:
 А вдруг я не захочу, чтоб всякие боты

 
Насчет ботов, в смысле поисковых, надо профили закрывать, чтобы не индексировались e-mail адреса участников. Но это делается не таким вот образом ^^, а через robots.txt, в нем строка такая:
 
Disallow: /cgi-bin/путь_к_конфе/profile.cgi
 
Подробнее о robots.txt в теме:
Robots.txt
 
 
В противном случае, бот будет пытаться пройти по ссылке и будет получать страницу: "Сори, Гостям нельзя" и именно ее и проиндексирует. Поскольку на странице слов мало, но велика вероятность того, что именно она будет первой среди всех страниц сайта выдаваться в результатах поиска. Картинка, честно говоря, неприглядная. Мало кто захочет идти с поисковика на такой форум.
 
 
 
Кстати, таким образом нужно закрывать и некоторые другие скрипты. Но об этом в другой теме.
 
Добавлено

Цитата:
 Но об этом в другой теме.

 
Вот в этой:
 
индексация поисковиком форума

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 14:47 22-08-2004
Wozik



Ёж
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DDfans

Цитата:
Пригодится кому-нить обязательно.

я себе оставил
пускай гость чувствует себя некомфортно, пускай его мучает угрызение совести и желание зарегистрироваться
 
lynx

Цитата:
зайди в папку messages и посмотри, нет ли там файла, в названии которого есть слово Guest

ммде...письма гостям пишут..
ты как всегда права respect!

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 15:50 22-08-2004
DDfans



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx

Цитата:
Насчет ботов, в смысле поисковых

Сорри, вношу поправочку... поисковые боты меня не волнуют, т.к. есть боты-спамеры и прочие вражеские боты. Короче не поисковые я имел ввиду (поэтому и написал "всякие боты"). Дык и сами спамеры легко и просто могут е-майлы вручную покрасть ...

Цитата:
Картинка, честно говоря, неприглядная. Мало кто захочет идти с поисковика на такой форум.

Кому надо, тот ресурс не покинет и останется. Кому пофиг - итак все ясно, что будет.
Кстати не всегда из этих самых поисковиков "хорошие картинки" выдаются, поверь мне, даже при удачной адаптации сайта под спайдеры.
Wozik

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

Хороший ход! Можно еще закрыть постинг для гостей, это еще больше будет заставлять народ регаться

Всего записей: 59 | Зарегистр. 24-11-2002 | Отправлено: 16:31 22-08-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DDfans

Цитата:
Кому надо, тот ресурс не покинет и останется. Кому пофиг - итак все ясно, что будет.  

 
Ну, не скажи. Ру-борд большой форум, не жалующийся на приток новых мемберов, но мы закрыли это, ибо на результаты работы поисковика было больно смотреть.
 
 

Цитата:
 Можно еще закрыть постинг для гостей, это еще больше будет заставлять народ регаться

 
Это больше важно для безопасности.
Запретить гостям (Guest) создавать сообщения
 
Wozik

Цитата:
ммде...письма гостям пишут..

 
 
Запрещаем пользователям посылать пм гостю (to Guest)

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 17:28 22-08-2004
Wozik



Ёж
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lynx
DDfans

Цитата:
Хороший ход! Можно еще закрыть постинг для гостей, это еще больше будет заставлять народ регаться


Цитата:
Запретить гостям (Guest) создавать сообщения

а вот это зря, зачем тучи юзверей с одним-двумя постами?
если вдруг припёрло что-то сказать, то регаться ИМХО незачем
гесты - тоже люди
бывает случайно человечик попал на форум, сказал одну фразу и пропал. зачем же ему регаться?
 

Цитата:
Запрещаем пользователям посылать пм гостю (to Guest)

а вот это нужная штука!
фэнкс

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 10:14 24-08-2004
Wozik



Ёж
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ага..багрепорт типо:
Цитата:
 if ($inmembername eq "Guest") { &error("$ibtxt{'1828'}&Гостям сюда лазить НЕ ПОЛОЖЕНО!"); }

почему-то получается так, что даже авторизированые не могут посмареть ничей профиль кроме своего

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 22:52 24-08-2004
DDfans



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx

Цитата:
Ну, не скажи.

Тут ведь еще, кстати, один момент... чем больше конкурирующих русурсов между собой, тем меньше шансов, что юзер выберет именно тебя (хотя и не исключено). Посему для каждой темы свои законы. У меня конкурентов пока нету и врятли будут в ближайшее время. Так что для каждого свое, а я лишь посоветовал человеку, вдруг он не знал.
Wozik

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

Врятли именно в этой строке проблема. Тут установки на "входящего" имя "Гость" запрет... другие пользователи тут не причем!
Хотя попробуй $inmembername сменить на $inmember..., из-за этих переменных часто бывают недомолвки. Как в прошлом админ 2.1.9 сам наступал на частые грабли.

Всего записей: 59 | Зарегистр. 24-11-2002 | Отправлено: 23:32 24-08-2004
Wozik



Ёж
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DDfans
странно, но именно в этой. её убрал и всё стало нормально
щас потестю с инмембирам
 
Добавлено
$inmember: guest видит все профили кроме своего
$inmembername: guest нифига не видит, и все остальные тоже
 
Добавлено

Цитата:
Как в прошлом админ 2.1.9 сам наступал на частые грабли.


у мя от этих граблей уже лоб болит
тока и делаю что отлавливаю баги, которые сам же наделал

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 00:00 25-08-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » IkonBoard и другие форумы » Ikonboard v.2 » Закрываем все пути к профилю гостя (Guest)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru