Патчі безпеки для версій 9.6 і нижче

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

Помилка у версії: 9.6 та все більш ранні версії

Ступінь небезпеки: Висока при використанні включеної налаштування 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;
}