Баг-фикс Патчи безопасности для версий DLE 9.7 и ниже
Проблема: Проведение SQL инъекций, в случае игнорирования администратором сайта уведомления в админпанели скрипта, о недопустимости включения на сервере небезопасной настройки register_globals, а также возможность обхода кода безопасности CAPTCHA при регистрации.
Ошибка в версии: 9.7 и все более ранние версии
Степень опасности: Высокая при использовании включенной настройки register_globals, отсутствует при выполнении рекомендаций по отключению данной настройки в настройках сервера. Установка патча тем не менее обязательна для всех, т.к. патч устраняет возможный обход каптчи и другие проблемы.
Для исправления скачайте и скопируйте на свой сервер патч.
Пользователи, использующие более ранние версии скрипта должны внести вручную следующие изменения в файлы скрипта:
1. Откройте файл engine/modules/sitelogin.php и найдите:
Ниже добавьте:
Далее в этом файле найдите:
Ниже добавьте:
Далее в этом файле найдите:
Ниже добавьте:
2. Откройте файл engine/init.php и найдите:
Замените на:
3. Откройте файл engine/modules/functions.php и найдите:
Ниже добавьте:
Что касаемо для версии DLE 9.7 нужно просто скачать и заменить файлы
Ошибка в версии: 9.7 и все более ранние версии
Степень опасности: Высокая при использовании включенной настройки register_globals, отсутствует при выполнении рекомендаций по отключению данной настройки в настройках сервера. Установка патча тем не менее обязательна для всех, т.к. патч устраняет возможный обход каптчи и другие проблемы.
Для исправления скачайте и скопируйте на свой сервер патч.
Пользователи, использующие более ранние версии скрипта должны внести вручную следующие изменения в файлы скрипта:
1. Откройте файл engine/modules/sitelogin.php и найдите:
$dle_login_hash = "";
Ниже добавьте:
$_TIME = time () + ($config['date_adjust'] * 60);
Далее в этом файле найдите:
if( $member_id['user_id'] ) {
Ниже добавьте:
session_regenerate_id();
Далее в этом файле найдите:
$member_id = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users WHERE user_id='" . intval( $_COOKIE['dle_user_id'] ) . "'" );
Ниже добавьте:
session_regenerate_id();
2. Откройте файл engine/init.php и найдите:
if (in_array ( $_POST['dlenewssortby'], $allowed_sort )) {
Замените на:
if (in_array($_POST['dlenewssortby'], $allowed_sort) AND stripos($find_sort, "dle_sort_") === 0) {
3. Откройте файл engine/modules/functions.php и найдите:
global $tpl;
Ниже добавьте:
if (!class_exists('dle_template')) {
return;
}
Что касаемо для версии DLE 9.7 нужно просто скачать и заменить файлы
dle97_path.zip
[15.92 Kb] (cкачиваний: 86)