Кроме того, если у пользователя выключены куки, то он ещё и сессию терять будет.
Я отослал это разработчикам phpbb, они подтвердили, что данная ошибка не влияет на безопасность и пообещали подумать об исправлении функции в следующем релизе. Те, кто не хочет ждать могут взять код сейчас:
Файл: sid_fix-100.txt
Или:
Код: Выделить всё
#
#-----[ OPEN ]------------------------------------------
#
includes/sessions.php
#
#-----[ FIND ]------------------------------------------
#
if ( !empty($SID) && !preg_match('#sid=#', $url) )
{
#
#-----[ AFTER, ADD ]------------------------------------------
#
$anchor = '';
$less_param = '';
list($url, $anchor) = @preg_split('/#/', $url, 2);
if ( isset($anchor) )
{
list($anchor, $less_param) = @preg_split('/&/', '#'.$anchor, 2);
$less_param = ( !(isset($less_param)) ) ? '' : '&'.$less_param;
}
#
#-----[ FIND ]------------------------------------------
#
$url .= ( ( strpos($url, '?') != false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID;
#
#-----[ IN-LINE FIND ]------------------------------------------
#
. $SID;
#
#-----[ IN-LINE REPLACE WITH ]------------------------------------------
#
. $less_param . $SID . $anchor;
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM