Популярные статьи |
Категория “Программирование” Обновление PHP для старых версий DLE >= 9.5Любую CMS и DLE в т.ч. необходимо держать всегда обновленной или хотя бы из последних версий. Так как довольно часто новые версии выходить не из-за дополнительных функций, а из-за найденных уязвимостей и необходимости их устранения. Аналогично поступают и хостеры, стараясь держать актуальные версии ПО. Но как быть, если PHP версии 5.3/5.4, а DLE староват и отказывается работать на современном ПО? Давайте решим этот вопрос. htmlspecialchars( $_REQUEST['author'] )
меняем на htmlspecialchars( $_REQUEST['author'], ENT_NOQUOTES, 'ISO-8859-1' )
А код htmlspecialchars( stripslashes( urldecode( $_REQUEST['search_field'] ) ), ENT_QUOTES ) )
на htmlspecialchars( stripslashes( urldecode( $_REQUEST['search_field'] ) ), ENT_QUOTES, 'ISO-8859-1') )
Аналогично в файле engine/classes/parse.class.php Следующее что необходимо исправить - это создание дамба базы. Для этого в файле engine/inc/dumper.php меняем уж очень устаревшую и бесполезную функцию mysql_escape_string на mysql_real_escape_string. Правда по последнему напрашивается вопрос к разработчикам скрипта: если все данные, принимаемые от пользователя предварительно фильтрируются то зачем их при создании резервной копии фильтровать повторно?! (риторический вопрос, который наводит на нехорошие мысли). Также стоит отметить совершенно неразумное использование функционала PHP. При наличии такой библиотеки как PDO-mysql создатели скрипта используют классический подход к обработке sql-запросе, но при этом создают на все полностью классы и функции, что собственно реализовано в самом pdo. Какой то непонятный стиль написания скрипта.
Эти же операции повторяем в файлах:
Для DLE версии 9.0 в файле engine/modules/sitelogin.php Sunday, 17 August 2014, 18:48Прочитано 42 раза Ссылка на страницу: comments powered by Disqus |
Чаще всего ищут Статистика блога |