Недостаточная фильтрация данных в DLE 11.2 и ниже
Несколько часов назад официальная поддержка DataLife Engine известила о существовании новой проблемы в движке, которая имеет статус «Высокая». Рассказываем, как быстро и просто устранить проблему, а также даем дополнительную информацию по данной теме.
Дополнительная информация:
Проблема: Недостаточная фильтрация данных.
Ошибка в версии: 11.2 и ниже.
Степень опасности: Высокая.
Решение проблемы
Для того чтобы исправить положение, делаем следующее:
1. Открываем файл go.php в папке /engine/ и находим код:
$url = @str_replace ( "&", "&", $url );
2. Сразу после него вставляем:
$url = htmlspecialchars($url, ENT_QUOTES, $config["charset"]);
$url = str_replace("&", "&", $url);
3. Затем откройте файл typograf.php в папке /engine/ajax/ и сразу после
$txt = trim( convert_unicode( $_POST['txt'], $config['charset'] ) );
вставьте:
require_once ENGINE_DIR."/classes/parse.class.php";
$parse = new ParseFilter();
$txt = $parse->process($txt);
$txt = preg_replace("/javascript:/i", "jаvascript:", $txt);
$txt = preg_replace("/data:/i", "dаta:", $txt);
Готово, мы успешно с вами устранили ошибку.