Главная » Баг-фиксы DLE и модулей » Патчи безопасности для версий DLE 9.7 и ниже

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

  • Баг-фиксы DLE и модулей

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

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

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

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

Для исправления скачайте и скопируйте на свой сервер патч: dle97_path.zip, данный патч предназначен только для версии 9.7 скрипта. Дистрибутив версии 9.7 обновлен.

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

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 и ниже: патч безопасности, DLE 9.7, баг-фикс