Перейти к контенту
  • 0

password protected forum & cookie


Вопрос

Господа! Понимаю, что проблема, описанная мною для кого-то может показаться пустяковой, но все же:

 

А особенность такая, на форуме есть подфорум с установленным паролем. Доступ на который имеют право группа пользователи и выше, знающие определеннй пароль.

Допустим, такая ситуация, я, пользователь, зашел в инет-кафе, взял часок, залез на любимый форум, зашел на тот подфорум, ввел пароль, поработал чуток, вышел даже через log out. Да.

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

Естественно, в COOKIE осталась прошлая инфа именно об этом форуме и при выходе LOG OUT она не удалилась. Как это исправить?

Вообще, было бы желательно полностью очищать COOKIE при выходе...

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

тыкали...

 

по ссылке обращаемся к login.php на функцию delete_cookies(), и куки действительно она обнуляет, но так получается, что форум с паролем в куки сидит всеравно...

 

function delete_cookies()
 {
 global $ibforums, $DB, $std, $HTTP_COOKIE_VARS;
	 
	 if (is_array($HTTP_COOKIE_VARS))
	 {
   foreach( $HTTP_COOKIE_VARS as $cookie => $value)
   {
  	 if (preg_match( "/^(".$ibforums->vars['cookie_id']."ibresource.*$)/i", $cookie, $match))
  	 {
     $std->my_setcookie( str_replace( $ibforums->vars['cookie_id'], "", $match[0] ) , '-', -1 );
  	 }
   }
	 }
	 
	 $std->my_setcookie('pass_hash' , '-1');
	 $std->my_setcookie('member_id' , '-1');
	 $std->my_setcookie('session_id', '-1');
	 $std->my_setcookie('topicsread', '-1');
	 $std->my_setcookie('anonlogin' , '-1');
	 $std->my_setcookie('forum_read', '-1');
	 
 $std->boink_it($ibforums->base_url);
 exit();
}  

[1121264417:1121265072]вот функция, работающая с закрытыми паролем форумами

 

	/*-------------------------------------------------------------------------*/
// Authenicate the log in for a password protected forum
/*-------------------------------------------------------------------------*/

function authenticate_user()
{
 global $std, $ibforums, $print;
 
 if ($ibforums->input['f_password'] == "")
 {
	 $std->Error( array( 'LEVEL' => 1, 'MSG' => 'pass_blank' ) );
 }
 
 if ( $ibforums->input['f_password'] != $this->forum['password'] )
 {
	 $std->Error( array( 'LEVEL' => 1, 'MSG' => 'wrong_pass' ) );
 }
 
 $std->my_setcookie( "ipbforumpass_".$this->forum['id'], md5($ibforums->input['f_password']) );
 
 $print->redirect_screen( $ibforums->lang['logged_in'] , "showforum=".$this->forum['id'] );
}

 

Когда читаешь обычный форум в куки пишется forum_read

 

если форум с защитой ipbforumpass

 

а в функции удаления о нем никто и не вспоминает...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

синтаксис php... с ним не так давно знаком... общаемся пока на языке мимики и жестов...

 

 

да и вот непонятный момент, когда заходишь на защищенный форум тебе в куки пишется

ipbforumpass_".$this->forum['id']

 

в куки имеем ipbforumpass_номерфорума

 

и вопрос, что ввести в функцию удаления

 

$std->my_setcookie('ipbforumpass_???????????????', '-1');

 

как указать id форума с паролем?

 

я понимаю, можно явно указать номер, но хотелось бы найти более универсальный способ...[1121266550:1121323299]в общем, можно конкретный форум указать в function delete_cookies(), скажем, если форум с паролем имеет id = 7, то

 

$std->my_setcookie('ipbforumpass_7', '-1');

 

 

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

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.