Патчи безопасности для версий 9.7 и ниже

Тема в разделе "DataLife Engine", создана пользователем $iD, 21 ноя 2012.

  1. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.350
    Симпатии:
    1.380
    Проблема: Проведение SQL инъекций, в случае игнорирования администратором сайта уведомления в админпанели скрипта, о недопустимости включения на сервере небезопасной настройки register_globals, а также возможность обхода кода безопасности CAPTCHA при регистрации.

    Ошибка в версии: 9.7 и все более ранние версии

    Степень опасности: Высокая при использовании включенной настройки register_globals, отсутствует при выполнении рекомендаций по отключению данной настройки в настройках сервера. Установка патча тем не менее обязательна для всех, т.к. патч устраняет возможный обход каптчи и другие проблемы.

    Для исправления скачайте и скопируйте на свой сервер патч.

    Пользователи, использующие более ранние версии скрипта должны внести вручную следующие изменения в файлы скрипта:

    1. Откройте файл engine/modules/sitelogin.php и найдите:
    PHP:
    $dle_login_hash "";
    Ниже добавьте:
    PHP:
    $_TIME time () + ($config['date_adjust'] * 60);
    Далее в этом файле найдите:
    PHP:
    if( $member_id['user_id'] ) {
    Ниже добавьте:
    PHP:
    session_regenerate_id();
    Далее в этом файле найдите:
    PHP:
            $member_id $db->super_query"SELECT * FROM " USERPREFIX "_users WHERE user_id='" intval$_COOKIE['dle_user_id'] ) . "'" );
    Ниже добавьте:
    PHP:
    session_regenerate_id();
    2. Откройте файл engine/init.php и найдите:
    PHP:
    if (in_array $_POST['dlenewssortby'], $allowed_sort )) {
    Замените на:
    PHP:
    if (in_array($_POST['dlenewssortby'], $allowed_sort) AND stripos($find_sort"dle_sort_") === 0) {
    3. Откройте файл engine/modules/functions.php и найдите:
    PHP:
    global $tpl;
    Ниже добавьте:
    PHP:
    if (!class_exists('dle_template')) {
            return;
        }
    или же скачать и заменить (если в этих файлах не проводились изменения):