[Важно] Проблемы версии 2.0.9

[Важно] Проблемы версии 2.0.9

Сообщение Xpert 15.07.2004 9:40

Согласно информации на phpBB.com, многие пользователи после обновления форума до версии 2.0.9, вышедшей 13.07.2004, начали испытывать проблемы с отправкой сообщений, содержащий апострофы ('), заключающиеся в появлении ошибки SQL-запроса. Данная проблема проявляется только при значении переменной register_globals=on в конфигурации Apache вашего хостера. Чтобы избежать появления этой ошибки, вам необходимо произвести следующие изменения в файле common.php:

НАЙТИ
Код: Выделить всё
// Unset globally registered vars - PHP5 ... hhmmm
if (@$ini_val('register_globals') == '1' || strtolower(@$ini_val('register_globals')) == 'on')
{
    $var_prefix = 'HTTP';
    $var_suffix = '_VARS';

    $test = array('_GET', '_POST', '_SERVER', '_COOKIE', '_ENV');

    foreach ($test as $var)
    {
        if (is_array(${$var_prefix . $var . $var_suffix}))
        {
            unset_vars(${$var_prefix . $var . $var_suffix});
        }

        if (is_array(${$var}))
        {
            unset_vars(${$var});
        }
    }

    if (is_array(${'_FILES'}))
    {
        unset_vars(${'_FILES'});
    }

    if (is_array(${'HTTP_POST_FILES'}))
    {
        unset_vars(${'HTTP_POST_FILES'});
    }
}


ЗАМЕНИТЬ НА
Код: Выделить всё
// Unset globally registered vars - PHP5 ... hhmmm
if (@$ini_val('register_globals') == '1' || strtolower(@$ini_val('register_globals')) == 'on')
{
    $var_prefix = 'HTTP';
    $var_suffix = '_VARS';

    $test = array('_GET', '_POST', '_SERVER', '_COOKIE', '_ENV');

    foreach ($test as $var)
    {
        if (is_array(${$var_prefix . $var . $var_suffix}))
        {
            unset_vars(${$var_prefix . $var . $var_suffix});
            @reset(${$var_prefix . $var . $var_suffix});
        }

        if (is_array(${$var}))
        {
            unset_vars(${$var});
            @reset(${$var});
        }
    }

    if (is_array(${'_FILES'}))
    {
        unset_vars(${'_FILES'});
        @reset(${'_FILES'});
    }

    if (is_array(${'HTTP_POST_FILES'}))
    {
        unset_vars(${'HTTP_POST_FILES'});
        @reset(${'HTTP_POST_FILES'});
    }
}


Дистрибутивы форума будут обновлены в самое ближайшее время, при этом номер версии не претерпит изменений.


Замечания:

- проблемы при цитировании сообщений являются следствием проблемы с апострофами, приведенная выше замена кода должна избавить вас от ошибок;

- замена файла common.php на аналогичный из дистрибутива версии 2.0.8, мотивируемая проблемами с модами в новой версии phpBB возможна, однако не является правильной - ошибки модов вызваны тем, что их авторы уделили недостаточно внимания безопасности, а вовсе не проблемами phpBB.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
 
Сообщения: 5710
Зарегистрирован: 13.03.2004 22:27
Откуда: msk.ru


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

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

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