Недостаточная фильтрация данных в DLE 11.1 и ниже
Не так давно, официальная поддержка DataLife Engine сообщила о существовании проблемы в движке. Пользователям дали понять, что повода для беспокойства нет и ситуация вполне разрешима. Расскажем о решении этой неполадки более подробнее.
Дополнительная информация:
Проблема: Недостаточная фильтрация данных.
Ошибка в версии: 11.1 и ниже.
Степень опасности: Высокая.
Дополнительная информация:
Для того чтобы исправить положение, сделаем следующее:
1. Открываем файл parse.class.php в папке /engine/classes/ и находим код:
if( preg_match( "/[?&;%<[]]/", $url ) ) {
if( $align != "" ) return "[img=" . $align . "]" . $url . "[/img]";
else return "[img]" . $url . "[/img]";
}
2. Заменяем его на:
if(preg_match("/[?&;%<[]]/", $url)) {
return $matches[0];
}
3. Готово, мы успешно с вами устранили ошибку.