Пропустить

Вышел phpBB 2.0.8

Вышел phpBB 2.0.8

Сообщение Mr. Anderson » 26.03.2004 22:13

phpBB Group рады представить релиз phpBB 2.0.8. Этот релиз был выпущен, чтобы исправить несколько потенциальных угроз безопасности. Разработчики напоминают, что продолжается работа над релизом 2.2.0 и, как и раньше, не планируется выпуск новых версий 2.0.x, за исключением обнаружения новых угроз безопасности.

Как и в предыдущих релизах, доступны три версии дистрибутива:

  • Полный пакет
    Содержит все файлы phpBB и английский языковой пакет.
  • Только измененные файлы
    Содержит только те файлы, которые были изменены со времени предыдущего релиза phpBB. Пожалуйста, учтите, что этот архив включает изменённые файлы для каждого предыдущего релиза.
  • Patch-файлы
    Содержит patch-совместимые файлы изменений с предыдущего релиза.
Выберите ту версию, которая будет наиболее удобной для вас.

Пожалуйста, удостоверьтесь, что вы прочли файлы INSTALL и README в каталоге docs перед установкой или обновлением вашего форума.

Замечание для пользователей версии 2.0.3, планирующих использовать patch-файлы

Пользователям версии 2.0.3, планирующим использовать patch-файлы, возможно потребуется запустить fix_files.sh (можно найти в каталоге contrib дистрибутива) перед выполнением patch-программы.

При обновлении форума с версии 2.0.3 наилучшим вариантом будет сначала запустить патч в режиме "dry run" - это покажет, действительно ли вам понадобится использовать fix_files.sh. Для этого примените такой параметр команды patch, как --dry-run, например patch -cl -p1 --dry-run < phpBB-2.0.3_to_2.0.8.patch. Такой запрос выполнит patch-файл, однако изменения в файлы дистрибутива вносится не будут. В случае если вы после выполнения файла увидите несчетное количество сообщений об ошибках, использовать fix_files.sh все же придется.

Для устранения этой проблемы скопируйте файл fix_files.sh в корневую директорию вашего форума, установите права доступа для него как u+x и затем выполните его при помощи команды ./fix_files.sh *. Этот скрипт заменит принятые в Windows символы перевода строк, присутствующие в коде версии 2.03. Обратите внимание, что скрипт также произведет данную операцию со всеми файлами, включая бинарные, если они находятся вне директорий files или images. На время работы скрипта следует разместить подобные файлы вне директории вашего форума.

Какие изменения произошли в данном релизе?

Исчерпывающий список изменений включен во все архивы. Эта версия направлена на исправление нескольких потенциальных угроз безопасности.
Как и в версиях 2.0.5 - 2.0.7, система защиты от флуда (визуальное подтверждение регистрации) и файлы кэширования шаблонов находятся в каталоге contrib.

Процедура обновления для пользователей версии 2.0.7a:

admin/admin_forumauth.php
Найти (строка 105):
         $simple_ary = $simple_auth_ary[$HTTP_POST_VARS['simpleauth']]; 

         for($i = 0; $i < count($simple_ary); $i++) 
         { 
            $sql .= ( ( $sql != '' ) ? ', ' : '' ) . $forum_auth_fields[$i] . ' = ' . $simple_ary[$i]; 
         } 

         $sql = "UPDATE " . FORUMS_TABLE . " SET $sql WHERE forum_id = $forum_id"; 
      } 
      else 
      { 
         for($i = 0; $i < count($forum_auth_fields); $i++) 
         { 
            $value = $HTTP_POST_VARS[$forum_auth_fields[$i]];

Заменить на:
         $simple_ary = $simple_auth_ary[intval($HTTP_POST_VARS['simpleauth'])]; 

         for($i = 0; $i < count($simple_ary); $i++) 
         { 
            $sql .= ( ( $sql != '' ) ? ', ' : '' ) . $forum_auth_fields[$i] . ' = ' . $simple_ary[$i]; 
         } 

         if (is_array($simple_ary)) 
         { 
            $sql = "UPDATE " . FORUMS_TABLE . " SET $sql WHERE forum_id = $forum_id"; 
         } 
      } 
      else 
      { 
         for($i = 0; $i < count($forum_auth_fields); $i++) 
         { 
            $value = intval($HTTP_POST_VARS[$forum_auth_fields[$i]]);


admin/admin_forums.php
Найти (строка 60):
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];

После добавить:
   $mode = htmlspecialchars($mode);


admin/admin_groups.php
Найти (строка 55):
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];

После добавить:
   $mode = htmlspecialchars($mode);


admin/admin_ranks.php
Найти (строка 43):
   $mode = ($HTTP_GET_VARS['mode']) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];

После добавить:
   $mode = htmlspecialchars($mode);


admin/admin_smilies.php
Найти (строка 62):
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];

После добавить:
   $mode = htmlspecialchars($mode);


Найти (строка 319):
         $smiley_id = ( !empty($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];

После добавить:
         $smiley_id = intval($smiley_id);


Найти (строка 340):
         $smiley_id = ( !empty($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];

После добавить:
         $smiley_id = intval($smiley_id);


admin/admin_styles.php
Найти (строка 61):
   $mode = ( isset($HTTP_GET_VARS['mode']) ) ? $HTTP_GET_VARS['mode'] : $HTTP_POST_VARS['mode'];

После добавить:
   $mode = htmlspecialchars($mode);


Найти (строка 492):
            $style_id = $HTTP_GET_VARS['style_id'];

После добавить:
            $style_id = intval($HTTP_GET_VARS['style_id']);


Найти (строка 707):
            WHERE template_name = '$template_name'";

После добавить:
            WHERE template_name = '" . str_replace("\'", "''", $template_name) . "'";


admin/admin_ug_auth.php
Найти (строка 60):
$user_id = intval($user_id); 
$group_id = intval($group_id);

После добавить:
$adv = intval($adv); 
$mode = htmlspecialchars($mode);


admin/admin_user_ban.php
Найти (строка 280):
            $where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . $user_list[$i];

Заменить на:
            $where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . intval($user_list[$i]);


Найти (строка 293):
            $where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . $ip_list[$i];

Заменить на:
            $where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . str_replace("\'", "''", $ip_list[$i]);


Найти (строка 306):
            $where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . $email_list[$i];

Заменить на:
            $where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . str_replace("\'", "''", $email_list[$i]);


admin/admin_users.php
Найти (строка 52):
   $mode = ( isset( $HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode'];

После добавить:
   $mode = htmlspecialchars($mode);


Найти (строка 842):
            $category = $HTTP_POST_VARS['avatarcategory'];

Заменить на:
            $category = htmlspecialchars($HTTP_POST_VARS['avatarcategory']);


admin/admin_words.php
Найти (строка 44):
admin/admin_words.php

После добавить:
   $mode = htmlspecialchars($mode);


Найти (строка 67):
      $word_id = ( isset($HTTP_GET_VARS['id']) ) ? $HTTP_GET_VARS['id'] : 0;

Заменить на:
      $word_id = ( isset($HTTP_GET_VARS['id']) ) ? intval($HTTP_GET_VARS['id']) : 0;


Найти (строка 117):
      $word_id = ( isset($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : 0;

Заменить на:
      $word_id = ( isset($HTTP_POST_VARS['id']) ) ? intval($HTTP_POST_VARS['id']) : 0;


Найти (строка 154):
      if( isset($HTTP_POST_VARS['id']) ||  isset($HTTP_GET_VARS['id']) ) 
      { 
         $word_id = ( isset($HTTP_POST_VARS['id']) ) ? $HTTP_POST_VARS['id'] : $HTTP_GET_VARS['id'];

После добавить:
         $word_id = intval($word_id);


admin/pagestart.php
Найти (строка 59):
   redirect($url);

Заменить на:
   redirect("index.$phpEx?sid=" . $userdata['session_id']);


includes/bbcode.php
Найти (строка 284):
   $text = preg_replace("#\[img\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);

Заменить на:
   $text = preg_replace("#\[img\]((ht|f)tp://)([^ \?&=\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);


includes/functions_search.php
Найти (строка 201):
                  $value_sql .= ( ( $value_sql != '' ) ? ', ' : '' ) . '(\'' . $word[$i] . '\', 0)'; 
                  break; 
               case 'mssql':

После добавить:
               case 'mssql-odbc':


Найти (строка 226):
                  VALUES $value_sql"; 
               break; 
            case 'mssql':

После добавить:
            case 'mssql-odbc':


includes/usercp_register.php
Найти (строка 180):
   $user_avatar_local = ( isset($HTTP_POST_VARS['avatarselect']) && !empty($HTTP_POST_VARS['submitavatar']) && $board_config['allow_avatar_local'] ) ? $HTTP_POST_VARS['avatarselect'] : ( ( isset($HTTP_POST_VARS['avatarlocal'])  ) ? htmlspecialchars($HTTP_POST_VARS['avatarlocal']) : '' );

Заменить на:
   $user_avatar_local = ( isset($HTTP_POST_VARS['avatarselect']) && !empty($HTTP_POST_VARS['submitavatar']) && $board_config['allow_avatar_local'] ) ? htmlspecialchars($HTTP_POST_VARS['avatarselect']) : ( ( isset($HTTP_POST_VARS['avatarlocal'])  ) ? htmlspecialchars($HTTP_POST_VARS['avatarlocal']) : '' );
Правила конференции (30.05.2011) | Общие ошибки новичков (07.11.2005) | Шаблон запроса | FAQ (phpBB 3.0.x)
Последняя и единственно актуальная на сегодня версия - 3.0.10!
Поддержка по ICQ, e-mail и ЛС оказывается только за WM!


phpBB Guru blog
Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
 
Сообщения: 5274
Зарегистрирован: 13.03.2004 21:32
Откуда: СССР
Благодарил (а): 3 раз.
Поблагодарили: 79 раз.

Вернуться в Новости и объявления (архив)

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы