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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки

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

trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вот обнаружил , что Гости шлют письма в ПМ всем пользователям, то есть пользуются в корысных целях...
 
В файле messenger.cgi есть вот такие строчки, которые разрешают им это делать...
 

Код:
if ($inmembername eq "" || $inmembername eq "$ibtxt{'0043'}") {  
    $inmembername = "$ibtxt{'0043'}";  
    }  
    else {  
        &getmemberstime("$inmembername");  
        }  

 
Подскажите , пожалуйста, как можно подправить это дело правильно... Я попробывал сам, но что-то запутался  
 
 
Добавлено
В дополнении к вопросу выше:  при регистрации, пользователь получает "спасибо за регистрацию" в ПМ,- не отразится ли запрет на пользовании ПМ Гостями для этого приветствия?

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 00:23 10-08-2004 | Исправлено: lynx, 03:39 18-08-2004
lynx



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

Цитата:
В файле messenger.cgi есть вот такие строчки, которые разрешают им это делать...  
 
 
Код:
if ($inmembername eq "" || $inmembername eq "$ibtxt{'0043'}") {    
    $inmembername = "$ibtxt{'0043'}";    
    }    
    else {    
        &getmemberstime("$inmembername");    
        }    

 
 
 
 
messenger.cgi
 
После

Код:
 
if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword)   { $inpassword   = cookie("apasswordcookie");   }
 

 
Напиши:
 
 

Код:
 
if ($inmembername eq "" || $inmembername eq "Guest") {
$inmembername = "Guest";
&messengererror("Личный ящик&Гости не могут пользоваться личным ящиком");    
    }
 

 

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

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

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 12:06 17-08-2004
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Что-то оно не совсем работает, Гость пытается открыть ящик, но вместо надписи. что нельзя. у него белый лист. Может эти два кода как-то мешают друг другу?

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 13:31 18-08-2004
lynx



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

Цитата:
Что-то оно не совсем работает, Гость пытается открыть ящик, но вместо надписи. что нельзя. у него белый лист. Может эти два кода как-то мешают друг другу?

 
 
Какие эти два?
 
Ты походу не понял, что править.
 
 
ОК, приведу кусок кода в дефолтной конфе, как должно быть в итоге. Красным выделено то, что надо добавить. Удаленное удалено.
 
 

Код:
 
 
$inmembername        = &cleaninput($inmembername);
$inpassword          = &cleaninput($inpassword);
$inmessage           = &cleaninput($inmessage);
$inmsgtitle          = &cleaninput($inmsgtitle);
 
$inboxpm = qq~<img src="$imagesurl/images/inboxpm.jpg" border=0>~;
$outboxpm = qq~<img src="$imagesurl/images/outboxpm.jpg" border=0>~;
$newpm = qq~<img src="$imagesurl/images/newpm.jpg" border=0>~;
$replypm = qq~<img src="$imagesurl/images/replypm.jpg" border=0>~;
$deletepm = qq~<img src="$imagesurl/images/deletepm.jpg" border=0>~;
 
###Begin Program
 
if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword)   { $inpassword   = cookie("apasswordcookie");   }
 

if ($inmembername eq "" || $inmembername eq "Guest") {
$inmembername = "Guest";
&messengererror("Личный ящик&Гости не могут пользоваться личным ящиком");    
    }
     

if ($action eq "loggedin") {
$namecookie = cookie(-name    =>   "amembernamecookie",
                     -value   =>   "$inmembername",
                     -path    =>   "$cookiepath",
                     -expires =>   "+30d");
$passcookie = cookie(-name    =>   "apasswordcookie",
                     -value   =>   "$inpassword",
                     -path    =>   "$cookiepath",
                     -expires =>   "+30d");
 
print header(-cookie  =>[$namecookie, $passcookie]);
}
else {
print header('text/html; charset=windows-1251');
    }
 

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 03:19 19-08-2004
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx Ага, то есть первый код мы удаляем... Спасибо! Сейчас попробую..

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 14:34 20-08-2004
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx Не работали эти строчки, то есть гость не окрывал вообще ящик,- только белый лист...  
Я сделал по аналогии:

Код:
###Begin Program
 
if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword)   { $inpassword   = cookie("apasswordcookie");   }
 
 
 
if ($membercode eq "Guest") { &messengererror("Личный ящик&Гости не могут пользоваться Личным ящиком"); }
if ($membercode eq "banned") { &messengererror("Личный ящик&Вы забанены"); }

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

 
Так оно заработало, но у меня  попутный вопрос: От того что я убрал, не отразиться на работе скрипта? То есть  меня смущает вот это:
Код:
if ($inmembername eq ""

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 13:31 23-08-2004
lynx



Advanced lynx
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
trew
 
Ты убрал этот код? Верни его на место!!!! Он влияет на безопасность.
 

Цитата:
if ($inmembername eq "" || $inmembername eq "Guest") {  
$inmembername = "Guest";  
&messengererror("Личный ящик&Гости не могут пользоваться личным ящиком");      
    }  

 
 
Если у тебя не работает, попробуй так:
 

Цитата:
if ($inmembername eq "" || $inmembername eq "Guest") {  
$inmembername = "Guest";  
print header('text/html');  
&messengererror("Личный ящик&Гости не могут пользоваться личным ящиком");      
    }  

 
 
Так работает?

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

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

Цитата:
Он влияет на безопасность

Объясни пожалуйста, в чем это может проявиться?
 

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 01:05 25-08-2004
Wozik



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

Цитата:
Так работает?

ДА! =)
но только вот так:

Цитата:
###Begin Program
 
if (! $inmembername) { $inmembername = cookie("amembernamecookie"); }
if (! $inpassword)   { $inpassword   = cookie("apasswordcookie");   }
if ($inmembername eq "" || $inmembername eq "Guest") {  
if ($inmembername eq "" || $inmembername eq "Guest") {  
$inmembername = "Guest";  
print header('text/html');  
&messengererror("Личный ящик&Гости не могут пользоваться личным ящиком");      
    }}
   
if ($action eq "loggedin") {

 
print header('text/html');   - обязательно

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 01:31 25-08-2004 | Исправлено: Wozik, 14:06 25-08-2004
trew

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

Цитата:
if ($inmembername eq "" || $inmembername eq "Guest") {  
if ($inmembername eq "" || $inmembername eq "Guest") {    

А зачем два раза?!

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



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

Цитата:
 в чем это может проявиться?  

 
В возможности проникать в закрытые форумы, пример:
 
http://forum.ru-board.com/topic.cgi?forum=21&topic=2181#10
 

Цитата:
А зачем два раза?!  

 
Да уж, два раза то ни к чему.

Всего записей: 11712 | Зарегистр. 08-05-2001 | Отправлено: 04:06 25-08-2004
trew

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
lynx Намек я понял, но я же гостю не открываю окошко для ввода чего-нибудь?
 
Или мы говорим про пользователя, который открыл окно и  под "..." ввел все что захотел?
Просто хочется понять, почему так , а не иначе. Если не трудно, плз.    

Всего записей: 716 | Зарегистр. 15-11-2003 | Отправлено: 04:51 25-08-2004
lynx



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

Цитата:
Или мы говорим про пользователя, который открыл окно и  под "..." ввел все что захотел?  
Просто хочется понять, почему так , а не иначе. Если не трудно, плз.  

 
Я вопроса не поняла...
 
Добавлено
Или ты спрашиваешь, почему можно попадать в приватные форумы? Черт его знает, но когда не указано явно, что если имя пользователя не определено, или оно Гость, то считать его гостем, то появляется такая возможность.

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



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

Цитата:
А зачем два раза?!

а фик знает, но если один раз, то говорит что пароль неправильный =)

Всего записей: 589 | Зарегистр. 02-01-2003 | Отправлено: 13:57 25-08-2004 | Исправлено: Wozik, 14:07 25-08-2004
trew

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

Цитата:
но когда не указано явно
Да, именно про это я спрашивал,извини,  не правильно выразился....  
Вообще мне кажется . что у нас в этом скрипте как-то неправильно срабатывает переменная $inmembername в этой конструкции...  

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru