Исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое. Скачать бесплатно .


Дорогие друзья,

Представляем вам новую версию нашего скрипта DataLife Engine v.13.1 NULLED. В данном релизе вас ожидает добавление поддержки автоматического обновления плагинов на новые версии и ряд других улучшений в системе плагинов, добавлены новые возможности для более удобной работы с дополнительными полями, добавлен новый тип рейтинга "Нравится и Не Нравится", улучшенный поиск публикаций в админпанели, и многое другое, об этом и другом читайте подробнее...

Были подготовлены и реализованы следующие изменения:


1. Добавлена возможность автоматического обновления скрипта в админпанели в пределах одной версии скрипта, в случаях, когда выходят, например, исправления найденных уязвимостей или других багов. В случаях, если в пределах одной версии вносятся изменения в дистрибутив, например, при выходе исправлений уязвимостей, или других выявленных проблем со скриптом, в админпанели возможно будет обновить скрипт, в рамках данной текущей версии скрипта.


2. Добавлена возможность автоматического обновления плагинов на сайте . Для этого в плагине задается URL для получения информации о наличии новой версии. По данному URL сайт разработчика плагина должен отдавать массив в JSON формате, который должен содержать информацию о актуальной версии плагина, а также ссылку на загрузку актуальной версии плагина. Например, по данному URL должно возвращаться значение {"version":"2.0","url":"https://dle-news.ru/test/test.zip"} . После чего, при проверке обновлений, администратор сайта сможет узнать о наличии новых версий плагина и обновить плагины в админпанели в один клик.


3. Для системы управления плагинами, добавлена возможность указывать количество замен, которые нужно провести, по каждому критерию поиска в файле. Например, вам нужно найти и заменить какой-либо код в файле, который встречается в этом файле несколько раз, вы можете указать сколько раз необходимо заменить данный код. Для замены всех вхождений этого кода, вы можете оставить данный параметр пустым, тем самым замена будет произведена везде, где встречается указанный вами код.


4. Для системы управления плагинами, добавлена возможность автоматического удаления загруженных вместе с плагином в архиве дополнительных файлов, в случае если плагин удаляется с сайта. Для этого в параметры плагина добавляется возможность выбора, удалять дополнительные файлы или нет. Тем самым вы можете самостоятельно решать, необходимо ли зачищать сервер от дополнительных файлов в случае его удаления с сайта, или же их необходимо оставить.

5. Для системы управления плагинами, добавлена возможность использовать в именах папок, находящихся в ZIP архивах, тег {THEME}. При загрузке архива через систему плагинов, данный тег будет заменен на имя используемого шаблона. Например, разместив в архиве файл /templates/{THEME}/test.tpl, ваш файл шаблона будет помещен в используемый на сайте шаблон. Тем самым, при использовании сложных плагинов, которые содержат в себе примеры файлов шаблонов, они могут сразу загружаться в нужную папку, содержащую используемый пользователем шаблон.

6. Для системы управления плагинами, добавлена возможность использовать в действии "Поиск и замена" в строке замены управляющие символы функции preg_replace, такие как \\1 и т.д., что снимает ограничения на поиск и замену некоторых кодов в DLE.


7. Для дополнительных полей, имеющих тип "Изображение" и "Галерея изображений" , добавлена возможность назначать каждому изображению в отдельности, свое персональное описание, которое также используется в качестве HTML атрибута alt, при выводе данных дополнительных полей на сайте.


8. Для дополнительных полей, имеющих тип "Галерея изображений", добавлена возможность изменять порядок сортировки загруженных картинок, просто переместив их мышью. После загрузки изображений вы можете поменять местами изображения по вашему желанию. Также загруженные изображения могут быть перенесены в другие дополнительные поля.


9. Для публикаций и комментариев добавлен новый тип рейтинга "Нравится и Не нравится", который ведет отдельный учет как количества лайков, так и количества дизлайков. Для этого для шаблонов вывода публикаций и комментариев добавлены новые теги: {likes} - который выводит количество лайков, {dislikes} - который выводит количество дизлайков, а также тег текст - который выводит текст, заключенный в теге, в случае если в настройках включен данный тип рейтинга.


10. В настройки профилей пользователей в админпанели, добавлена возможность устанавливать список категорий, в которые данному конкретному пользователю разрешено добавление публикаций. Это позволит, например, журналистам, вести личные рубрики, в которые другие журналисты (или часть из них) не имеют права публикации. Или наоборот - исключить журналиста из конкретной категории новостей, если он, например, в ней некомпетентен.

11. В настройки профилей пользователей в админпанели, добавлена возможность устанавливать список доверительных категорий, в которые данному конкретному пользователю разрешено добавление публикаций без модерации. Такая персонализация позволит значительно более гибко разграничивать права, не создавая при этом кучу групп пользователей, в том числе и групп под каждого конкретного журналиста.


12. Для расширенного поиска публикаций в админпанели, в разделе редактирования публикаций, добавлена возможность выбирать где необходимо произвести поиск. Вы можете произвести поиск по всему контенту, можете отдельно по заголовкам, краткому описанию, полному описанию и дополнительным полям. Также существенно улучшены алгоритмы поиска, для более корректного нахождения публикаций.

13. Для расширенного поиска публикаций в админпанели, в разделе редактирования публикаций, добавлена возможность поиска одновременно по нескольким категориям на выбор.

14. Для облака тегов добавлена возможность использования символов "&" и "#", что позволяет, например, использовать в облаке имена различных брендов, например, "H&M" и т.д.


15. В настройки скрипта в админпанели, добавлена возможность разрешения для администрации сайта авторизоваться на сайте при помощи социальных сетей. При включении данной настройки, пользователи, находящиеся в группе администраторы, также могут авторизоваться на сайте при помощи своих аккаунтов в социальных сетях.


16. В админпанели, в разделе редактирования комментариев, добавлена возможность поиска комментариев по тексту. В данном разделе вы можете произвести поиск необходимых вам для редактирования комментариев, по каким-либо ключевым словам. Тем самым редактирование комментариев становится более удобным.


17. В админпанели, в разделе управления перекрестными ссылками, добавлена возможность для массовых действий над ссылками, устанавливать замену "Только в статических страницах", а также "В статических страницах, новостях и комментариях".

18. Для предосмотра баннеров в разделе управления рекламой в админпанели, добавлено подключение стилей вашего шаблона из файла preview.css. Тем самым вы можете видеть более правильное оформление вашего рекламного кода, в случае если он использует классы из вашего шаблона.

19. Для шаблона вывода кратких новостей (shortstory.tpl) добавлено использование тегов текст , которые выводят заключенный текст в них, в случае если публикации по данным критериям отсутствуют. Тем самым вы можете переназначить стандартное системное сообщение об отсутствии публикаций в каком-либо отдельном разделе сайта, сделав его уникальным, например, для каждого раздела сайта. Также данные теги можно использовать и в шаблонах, которые используются при пользовательском выводе публикаций с помощью тега {custom ...}


20. Для шаблона E-Mail сообщения, которое отправляется при восстановлении забытого пароля, добавлено использование новых тегов: {%losturl%} , который выводит только URL ссылки на сброс и генерацию нового пароля, а также {%ipurl%} , который выводит только URL ссылки на сброс блокировки по IP. Тем самым вы можете отдельно задавать нужное вам оформление в письме данных ссылок, например, в виде кнопок. А также вы можете, например, отказаться от вывода ссылки на снятие блокировки по IP, если не используете эту возможность на своем сайте.

21. Улучшена система удаления категорий в админпанели . В случае если удаляемая категория, содержит в себе подкатегории, которые также подлежат удалению, то все действия для публикаций, которые содержат удаляемую категорию, будут автоматически распространены и на публикации, которые содержат также и удаляемые подкатегории. И к данным публикациям в подкатегориях, будут применены те же действия.


22. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность добавления блокируемых адресов или логинов, или e-mail сразу целыми списками, а не по одному. Что существенно ускоряет процесс добавления, если у вас уже есть готовый список из того что необходимо заблокировать.


23. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность редактирования уже существующих правил. Вы можете выбрать и отредактировать любое правило, без необходимости его удаления и повторного добавления.


24. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена возможность выбора одновременно нескольких или всех добавленных правил, и массовой разблокировки данных правил в один клик.

25. Для модуля "Фильтр по: IP, Логину или E-Mail" добавлена поддержка использования IPv6 адресов, которые можно указать для блокировки доступа на сайт. Также добавлена возможность указания IPv6 подсетей для блокировки.

26. Добавлена возможность указания IPv6 адресов в профиле пользователя , с которых разрешена авторизация для пользователя. Также вы можете указать не только отдельный адрес, но и IPv6 подсеть.

27. Для модуля пользовательской сортировки публикаций на сайте , выводимых тегом {sort} добавлена возможность выставления сортировки для каждой конкретной категории, а не для всех категорий одновременно.

28. Для ссылок, публикуемых в публикациях, добавлена возможность использование в них блочных элементов, таких как "p", "div" и т.д. Что позволяет DataLife Еngine более точно и правильнее соответствовать стандартам HTML5.

29. Добавлена возможность добавления новых пользователей в панели управления DataLife Engine, при работе с панелью с использованием смартфонов.

30. Внесены изменения в работу древовидных комментариев . В случае если достигнута максимальная вложенность для ответов на комментарии, то в случае ответа на комментарий, данные ответы остаются в ветке обсуждения на максимальной вложенности. Ранее при достижении максимальной вложенности, ответить на комментарий было нельзя. Теперь возможность ответа остается в любом случае.

31. Для дополнительных полей, имеющих тип "Перекрестные ссылки" , добавлена возможность использования в значениях символа двойных кавычек, и символа амперсанда.

32. В случае если для шаблона E-Mail сообщения, которое отправляется при восстановлении забытого пароля, установлено использование HTML формата для данного письма, то ссылки, которые генерирует тег {%lostlink%} в этом шаблоне, будут формироваться уже в виде готового HTML кода, а не просто текстовые ссылки.

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

35. Внесены изменения в работу дополнительных полей, в случае если поле имеет ограничения на добавление по группам пользователей. Если значение дополнительного поля было добавлено пользователем, имеющим на это право, а в последствии публикация редактируется пользователем, у которого нет прав на заполнение этого поля, то значение данного поля больше не очищается, а остается таким, каким его заполнил ранее пользователь, имеющий на это право.

36. Лимит на количество символов метатега Description для категорий увеличен до 300 символов . Максимальная длина соответствует теперь максимальной длине, установленной поисковой системой Google, для вывода данной информации в результатах поиска.

37. Улучшен поиск похожих новостей на сайте. Показ похожих новостей стал более релевантным по сортировки найденных публикаций.

38. Улучшена поддержка IPv6 адресов посетителей сайта. В некоторых определенных случаях полный адрес мог не помещаться в базу данных. Теперь длина полей зарезервирована согласно спецификации RFC 4291.

39. Улучшено формирование метатега og:description протокола Open Graph при просмотре полных новостей. Формирование происходит более корректно при использовании в качестве основного контента дополнительных полей для публикаций.

40. Улучшена работа системы безопасности DataLife Engine , с целью более корректной проверки данных на поддоменах, на некоторых хостингах, имеющий структуру поддоменов, в виде подпапок основного домена.

41. Добавлена поддержка протокола tel: для ссылок публикуемых на сайте при помощи BB тегов.

42. Обновлены визуальные редакторы TinyMCE и Froala до актуальных версий . Исправлен ряд выявленных ошибок в данных редакторах.

43. Исправлена проблема, с использованием в дополнительных полях профиля пользователей, полей с типом "Список", в которых использовались значения с использованием символа "|".

44. Исправлена проблема, при которой в разделе управления плагинами, если изменялось действие над файлом в меню, некоторые символы могли некорректно изменяться в указанных в полях значениях.

45. Исправлена проблема , при которой нельзя было использовать теги для внутренних страниц сайта, и разрешалось использование только для внешних сайтов.

46. Исправлена проблема , при которой нельзя было приступить к обновлению сайта на новую версию, в случае если сайт был в кодировке отличной от UTF-8 при этом логин или пароль администратора содержал в себе буквы, написанные на кириллице.

47. Исправлена проблема, при которой не появлялось всплывающее окно о поступлении новых персональных сообщений, если пользователь самостоятельно вышел из своего аккаунта на сайте, а после чего опять вошел в него спустя какое-то время.

48. Исправлена проблема, при которой не работало редактирование комментариев в панели управления скриптом, в случае если в настройках скрипта был включен TinyMCE редактор.

49. Исправлена проблема , при которой не отображалось количество дней, в течении которых можно добавлять комментарии к публикации, если такие лимиты были установлены в настройках скрипта в админпанели.

50. Исправлена проблема , при которой дополнительное поле, имеющее тип "Загружаемый файл", не отображалось на сайте в виде ссылки на скачивание файла, а выводилось простым тегом.

51. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.

В интернете огромное количество сайтов, и все они работают на разных движках. Различия, в основном, заключаются в функциональных возможностях движков и в удобстве работы для посторонних пользователей сайтов. Самыми популярными движками являются Joomla , WordPress, Drupal, DLE. На последнем остановимся более подробно, так как, являясь одним из самых удобных и простых движков, он все чаще выбирается веб-мастерами и становится основой большинства веб-ресурсов.

Движок DLE — это DataLifeEngine – основа, которую предварительно рассчитывали использовать для ресурсов с новостными лентами и обзорами. Сегодня на этом движке работают самые разнообразные сайты, посвященные каким угодно тематикам.

Свою популярность движок DLE заслужил благодаря огромному функционалу, о котором всё подробно написано на сайте dle-news.ru. Создатели этого движка предлагают две версии своего продукта: платную и бесплатную. Вполне логично предположить,что бесплатная версия будет с более ограниченными возможностями. Но несмотря на это, бесплатная версия продукта DLE – это отличный движок и для начинающих веб-мастеров, и для более продвинутых. На нем прекрасно работают сайты не только с новостями, но и посвященные кулинарии, медицинской тематике и т.д.

На какой хостинг можно установить DLE

Перед тем, как начать установку движка DLE, неплохо было бы ознакомиться с теми требованиями, которые он предъявляет к серверу. Во-первых, это несколько установленных библиотек: PHP Zlib, PHP XML, PHP GD2, PHP iconv. Кроме того, программное обеспечение должно включать Apache версии 2.0 и выше, PHP 4.3.2+ или PHP 5.0+ и MySQL версии не старее 4.0. оперативная память должна быть размером не менее 8 мегабайт, но это минимум. Никто не запрещает пользоваться оперативкой с 16 мегабайтами, на которой продукт будет работать еще лучше.

При использовании движка DLE на сервере лучше произвести отключение безопасного режима, который обозначен как SafeMode.

Проверка хостинга на соответствие

Описание процесса установки, которое вы прочтете далее, произведено на основе выводов, сделанных после установки движка на тестовый веб-ресурс. Для более наглядного примера представлены скриншоты каждого этапа процесса установки.

Начинаем установку с проверки полного списка настроек. Для этого в корень сайта добавляем текстовый документ, присваиваем ему имя phpinfo.php, а в него записываем код:

Затем производим запуск скрипта, который у нас получилось создать. В браузере набираем следующее: https://мой_сайт.ру/phpinfo.php. После этого мы можем видеть на странице следующую картину:

Те места, которые обведены красным, являются главными параметрами, определяющими дальнейшую работу создаваемого веб-ресурса. К примеру, для того, чтобы можно было работать с графическими объектами, нужна нормальная работа Библиотеки PHP GD2. Если ее установка будет произведена некорректно, на сайте не будет отображаться капча.

Также для того, чтобы создаваемый веб-ресурс нормально работал, необходимо установить базу MySQL. Система будет запрашивать логин и пароль. Чтобы не забыть эти данные, лучше где-нибудь себе их записать. Для настройки базы пользуемся панелью управления, которая есть на хостинге.

Подробная инструкция по установке DLE

После того, как пакет с движком скачан на компьютер, его нужно распаковать и установить. Но устанавливать мы будем не все подряд, а только папку upload и папку Documentation. В том случае, если на хостинге есть функция распознавания архивов zip, то процесс установки пойдет быстрее. Если же такая функция не поддерживается, то закачку файлов из архива придется производить по отдельности.

Очень удобно при установке движка DLE работать с TotalCommander. Когда вы будете копировать файлы или папки на сервер, отметку с надписи «Перевести имена файлов в нижний регистр» нужно убрать.

Если сервер позволяет распознать и распаковать архив, помещаем в него сразу все те файлы, которые находятся в папке upload.

Теперь завершаем работу TotalCommander и продолжаем установку при помощи ftp-клиента. Для корректной работы сайта необходимо очень внимательно ввести данные файлов и папок сервера.

Чтобы подкорректировать Атрибуты, надо выделить нужную папку. После того, как вы изменяете права доступа папки, замены их на содержимое папок не происходит. Выделять файлы и папки, которые будем изменять, удобнее всего через TotalCommander или сочетанием клавиш на клавиатуре Alt+A.

В отрывшееся окошко вписываем то, что нам нужно и жмем OK.

— Установите для папки templates и всех вложенных в нее папок права на запись (CHMOD 777)

— Установите для всех файлов в папке templates права на запись (CHMOD 666)

— Установите права для записи (CHMOD 777) для папок backup, uploads, а также для всех папок, находящихся внутри них.

— Установитеправадлязаписи (CHMOD 777) дляпапок /engine/data/, /engine/cache/, /engine/cache/system/.

Когда все корректировки будут внесены, в браузере вводим следующую запись: https://proba.regciti.ru/install.php. Она означает, что мы собираемся запустить файл с названием install.php. После того, как файл будет запущен, в каждом открывающемся окошке будут появляться подсказки. Ориентируясь на эти подписи, продолжаем процесс установки. В принципе, он начнется автоматически, а система сама выполнит проверку всех тех файлов, которые должны быть установлены, и сообщит вам о завершении установки.

Теперь можно увидеть предварительный результат того, над чем вы все это время так старательно трудились. Вводим в строку браузера https://имя вашего сайта/index.php. Перед вами откроется демонстрационная страничка. Чтобы войти в админ-панель и начать работу, нужно ввести в адресную строку следующую запись: https://имя вашего сайта/admin.php. На экране в случае правильной установки должна появиться следующая картинка:

Соглашаемся с предложением, которое высвечивается в левом нижнем углу и начинаем установку. После нажатия этой кнопки появится окошко с просьбой прочесть правила лицензионного соглашения. Переход на следующую страничку произойдет только в том случае, если вы примите это соглашение и поставите соответствующую галочку. Нажимаем «продолжить»:

После этого автоматически начнется процесс проверки всех тех компонентов и файлов, которые были установлены. Скрипт автоматически укажет на те ошибки, которые были допущены и которые нужно исправить, чтобы продолжить работу. НА этой картинке есть перечень нескольких пунктов. Они должны быть без красной обводки, — это будет означать, что ошибок скрипт не обнаружил и можно продолжать работу дальше. Если же какой-либо пункт будет в красной обводке, исправляем ошибку. В принципе, скрипт может потребовать исправить ошибки,а вы можете отказаться, но тогда ожидайте, что система будет в некоторых моментах давать сбой. И это будет только ваша вина, а не провайдеров и не пользователей. Если же ошибки исправить не удается, можно попросить консультации или помощи у провайдера, который предоставляет вам место на сервере.

В нижней части окошко тоже есть перечень пунктов, которые должны быть без красной обводки. Но эти ошибки не настолько критичны и могут не отражаться на работе будущего сайта. Все дело в том, что у скрипта есть определенные стандартные настройки, и они могут не всегда совпадать с пользовательскими настройками. Лучше уже на этом этапе посоветоваться с хостинг-провайдером и уточнить, могут ли какие-то из выделенных красным цветом настроек не совпадать с предложенными системой.

Продолжаем и получаем новое открывшееся окошко. Здесь можно будет узнать о том, какие ошибки были допущены в тот момент, когда вы производили изменения Атрибутов для папок и файлов. Скрипт сам вам укажет, где вы допустили ошибки или пропустили что-то.

Если ошибки все же есть, исправить их лучше через фтп-клиента. после корректировки обновляем страничку и смотрим, есть ли еще места, где нужно внести корректировки. Если же вы все сделали правильно, и система не выделила вам места с ошибками, поздравляем! Вы успешно прошли один из самых сложных и ответственных этапов установки, и теперь можете ее смело продолжить!

Сервер MySQL:

Кодировка для MySQL:

На следующей картинке отмечены места, которые нужно вводить очень внимательно и правильно.

Имя базы будет таким, каким мы его присвоили в самом начале. В нашем случае это proba_regciti.

В пункте «Имя пользователя» вводим то т логин пользователя, от имени которого создавалась база. На том этапе логин и пароль мы еще на всякий случай записали.

Указываем адрес электронной почты в строке E-mail. Жмем «Продолжить». В случае отсутствия ошибок ввода на предыдущей страничке перед вами появится надпись: «Поздравляем! Установка успешно завершена».

В следующем открывшемся окошке уделяем внимание нескольким моментам.

Когда вы устанавливали скрипт, автоматически с ним была создана база данных, кабинет админа и созданы настройки работы системы. Чтобы не сбить все настройки и не запустить повторную установку, рекомендуется удалить install.php.

Надеюсь теперь Вы поняли, как устанавливать DLE на хостинг. Если всё ещё остались вопросы – задавайте их в комментариях к данной статье.

Опубликовал author

Наверное, всем людям свойственно забывать какую-то информацию. Особенно это относится к паролям и логинам от различных сайтов.

Вы (или человек, который делал вам доступы) создали надежный пароль, но не записали его в укромное место и забыли. Как быть в таком случае?

По умолчанию, в DataLife Engine запрещено восстанавливать пароли для группы «Администраторы». Это сделано по понятным причинам – ведь если человек имеет доступ к вашей почте, значит, он имеет доступ и к вашему сайту.

Но вы можете включить возможность восстановления пароля стандартным способом (через форму восстановления) и для администраторов. О том, как это сделать – читайте в данной статей.

Эта же статья посвящена тем случаям, когда стандартное восстановление пароля не включено, а вернуть доступ к панели управления нужно.

Я расскажу вам о двух способах восстановления, они несложные. Каждый выбирает тот способ, который ему показался более удобным.

Восстановление доступа к панели управления сайтом в DataLife Engine через SQL- запрос

Из заголовка, думаю, вы уже поняли, что для смены пароля вам необходимо сделать SQL-запрос в вашей базе данных. О том, как делать SQL-запрос, я подробно расписал в .

Запрос вам необходимо сделать следующего типа:

UPDATE `dle_users` SET `password` = "202cb962ac59075b964b07152d234b70" WHERE `user_id` = 1;

Где «1 » – это ID администратора (меняете на свой), а «» – пароль «123» в зашифрованном виде.

После того, как запрос был успешно выполнен (если возникли трудности – пишите об этом в комментариях), вы можете зайти в панель управления сайтом, используя ваш логин и пароль «123».

Восстановление доступа к панели управления сайтом в DataLife Engine через дополнительного пользователя

В этом случае вам необходимо зарегистрировать новый профиль на вашем сайте и наделить его должными правами.

Для этого:

1. Зарегистрируйте новый профиль (обязательно запомните логин).

2. В вашей базе данных выполните SQL-запрос:

UPDATE `dle_users` SET `user_group` = "1" WHERE `name` = "login";

Где «login » – логин нового пользователя (меняете на свой).

Вот, собственно, и все. С помощью этого запроса мы делаем админом указанного пользователя, и уже с его данными вы можете авторизоваться в панели управления вашим сайтом.

The following changes have been prepared and implemented:

1. Control Panel has been completely redesigned. We made it modern, readable and contrasting. Besides visual changes the new design also has a number of functional features. The new control panel has ten color schemes to choose from, not just one, and a special night template designed in dark colors for comfortable work in the dark. You can adjust the width of the sections side bar and width of the whole control panel. You also can enable a full-screen mode when working on devices with small screen sizes, hiding the browser bar and tabs to increase the working space of the panel. Each user of the Administration Panel can configure its custom look, its parameters and the color scheme. A special dual system for settings storage is used to save parameters of the panel. The settings are saved both on the server and locally in a browser providing unique features when using the control panel settings. Server-based saving of settings allows to avoid the "flickering" effect when applying the user"s custom design, and also to automatically apply selected settings when using another browser. Whereas storing the settings locally allows you to restore the selected settings after a parameters reset on the server, for example, in case of engine re-installation or after its global update. We hope that you will enjoy the new control panel. You can see a small demo of the new panel in the video above.

2. A short preview of the latest personal messages has been added to the control panel . Thus, the user can quickly open the message directly from the control panel.3. This feature allows you to choose the action right after the article is published. You can choose between: "Add another article," "Edit article," "Go to articles list." It allows you to go to the most frequently used actions in one click.

4. This feature allows you to choose the action during the editing right after the article is saved. You can choose between: "Back to article edit" and "Go to articles list." Thus, users who frequently save text of the article during editing can quickly go on edit after saving.

5. Now you can enable a function in Static Pages section of Control Panel which allows you save the location of a user on a website before editing or adding the page. It allows to return user back to the previous location. This feature is useful when there is a large number of pages or setting any search parameters. After editing the user will not have to search or go back to the needed page manually.

6. This feature allows you to choose the action right after you saved a page. You can choose between: "Add another page", "Edit page", "Go to list of pages". It allows you to go to the most frequently used actions in one click.

7. This feature allows you to choose the action during the editing right after the page is saved. You can choose between: "Back to page edit" and "Go to pages list." Thus, users who frequently save text of the page during editing can quickly go on edit after saving.

8. A new feature of highlighting of articles, comments, static pages, etc. In Administration Panel is added to perform mass actions on them. It allows to easily distinguish chosen elements.

9. User profiles edit has been completely redesigned in Administration Panel. Now you can edit all the profile parameters which previously were available only through profile edit on the website.

10. A new Meta Tags module is added. This module allows you to reassign title, description, keywords meta tags for certain pages of the site in the Administration Panel. DLE engine automatically generates meta tags for all pages of the site, however you can reassign meta tags for any pages. For example, you can assign specific values for meta tags for the feedback page, rather than use general values from the engine settings. Now, with this module, you can do it in Administration Panel of your website. In this module you specify the URL of the page for which you want to reassign the meta tags and specify new values for these tags. After that, the specified values will be applied to this page. You can reassign all the tags together and separately. For example, if you leave the keywords field empty, the default values ​​for that field and for that page will be applied. You can specify the address of the page for which you want to change meta tags, and also you can specify a URL group using the "*" character which stands for search by any set of characters. E.g., if you specify /page/*/, then specified meta tags will be used for pages /page/1/, /page/2/, /page/any text/, etc.

11. Now you can export users from the website. If you use third-party services or programs for organizing mailings for users, then with using the export you can quickly generate the necessary data. Users export is done in Administration Panel in User Edit section. You can export both all users and users selected by criteria. You can export the list either in CSV or Exel format.12. You can transfer articles to other categories at the certain time. To do this you need to choose "Move to another category" action in "Expiration before" option when adding or editing an article, and assign one or more categories where you want to move articles to when the given time is reached.13. You can exclude certain articles from the site search results. When adding or editing articles in Administration Panel, you can check "Exclude from search" option for each publication separately. Thus, you can exclude article from search results.

14. Now you assign a password or a list of passwords for each article to view it. If a password is set for an article, then it will be asked to be entered to get an access to a full version of the article and the article will be shown only if the correct password is entered. The entered password will remain in effect until the user closes the browser, and the password will not be requested again within the same session on the site.

15. You can exclude certain static pages from the site search results. When adding or editing a page in Administration Panel, you can check "Exclude from search results" option for each static page separately.

16. Now you assign a password or a list of passwords for each static page to view it. If a password is set for a static page, then password will be asked to open the page and it will be opened only if the correct password is entered. The entered password will remain in effect until the user closes the browser, and the password will not be requested again within the same session on the site.

17. Autosuggestion for extra fields which have the type of "cross-references" when adding and editing publications is added. Words list for autosuggestion is obtained from the database. It makes it easier to fill these fields in, and also reduces the probability of an error in words.

18. You can use masks to specify a template for redirects in Redirects module. When specifying URL to perform redirect from, you can specify the "*" character which means that any set of symbols may be instead of "*". E.g., you can specify /page/*/ to set redirect from pages like /page/1/, /page/2/, /page/any text/, etc.

19. Now you can quickly switch to editing a group of a specific user.

20. For static page templates (static.tpl and other assigned pages), the new tag text is added, which displays the enclosed text as a link to edit the static page for user groups who are allowed to edit static pages. This allows to quickly move to editing the needed page, when there is a large number of static pages.

21. A new parameter "id_as_list" is added for custom articles tag {custom...} that works in conjunction with the "id" parameter, and sorts the publications as they appear in the list. For example, the tag {custom id = "3,4,1,2" order = "id_as_list"} will display articles first with ID 3, then 4, then 1, and 2. This feature is useful when you want to display the required articles in a strictly defined order.

22. A new parameter "id_as_list" is added for custom comments tag {customcomments...} that works in conjunction with the "id" parameter, and sorts the comments as they appear in the list. For example, the tag {customcomments id = "3,4,1,2" order = "id_as_list"} will display comments with ID 3, then 4, then 1, and then 2. This feature is useful when you want to display the required comments in a strictly defined order.

23. You can allow to attach video in comments using the tags in user group settings . This option is used to allow or deny certain user groups to attach video in comments.

24. You can allow to attach media widgets in comments using the tags in user group settings . This option is used to allow or deny certain user groups to attach media widgets in comments.

25. Changes have been made to quick editing of articles. Now in quick editing mode only those fields are shown that were previously filled in during article adding or full editing mode. This applies to both the article annotation and full article fields. If the article annotation and full article fields have not been filled in, they will not be displayed in quick edit mode. This feature is useful for those who use only extra fields in articles. They will not see unnecessary fields.

26. You can remove such fields as "article annotation" and "full article" from the article addition template , while retaining all other functionality of editors. This feature will be useful for those who use just extra fields to add articles.

27. A new global tag for the {category-id} templates is added which allows to display the ID of the category viewed by the visitor. This tag will be useful when organizing the menu on the site and when you need to quickly reassign any CSS classes or the names of template files, when you edit articles display templates.

28. A new global tag {category-title} is added for templates , which allows to display the name of the category viewed by the visitor. This tag will be useful when you need to display the name of the category you are viewing.

29. You can specify a full description for categories. The description is created in the Administration Panel when adding or editing categories in the corresponding section. In the description of the category you can use both BBCODES tags and HTML tags. A new global template tag {category-description} is used to display the description on the site when the user views the category. It is also available when displaying full descriptions. Thus, you can display the category name and its description using a simple expression, for example: {category-title}
{category-description} You can limit the output of this information using additional tags , for example, only on the first page of the category.

30. You can use a new "only" value for the "subcat" parameter of the output tag {catmenu ...} of the category menu , which allows to display only subcategories of the specified category. For example, if you use the {catmenu id = "1" subcat = "only"} tag, only the subcategories of the category with ID "1" will be displayed. This feature is useful to display only subcategories of a certain category. For example, you can automatically display a list of subcategories from the viewed category using the simple expression {catmenu id = "{category-id}" subcat = "only"} .

31. Now you can exclude the selected category from search results in the Category Settings of Control Panel . Thus, you can set visibility of each category in search results. If the category is excluded from the search results, then articles from this category will not be displayed there when you search for articles.

32. Now you can display the uploaded images separately for extra fields of "Image Gallery" type . For this the tag is used in templates, where "X" is the name of the extra field, and "Nr" is the number of image from the gallery. For example, if you apply , then image number two will be displayed and loaded into an additional field named "test". Thus, you can use one field, and at the same time display a preview from the gallery in one picture in article annotation, and full gallery when viewing the full article.

33. Now you can safely use {titlе} tag in HTML attributes when displaying articles. For example, you can use alt="{titlе}" and the text will preserve the validity of the document if the header contains quotation marks.

34. Support for attaching videos and posts from Facebook has been added for tag .

35. Gzip compression for CSS files used by the engine is added , which allows to significantly reduce the size of CSS files, and therefore to speed up the loading of pages. Compression can be enabled together with the compression of JS files in the engine settings. When you enable compression, only DLE engine’s own CSS files are compressed. To compress your own CSS files of your template, see our article https://dle-news.ru/tips/917-szhatie-css-fajlov-shablona.html

36. Now you can enable automatic reset of the browser cache for CSS and JS files used by the engine after its update . This feature allows the browser to use the newest files after the engine update, not use the old ones from the browser cache.

37. Tag {THEME} is now supported in promotional materials preview in the engine control panel.

38. A visual highlight is added for the number of characters entered into the field, and the number of allowed symbols left when adding any data in Administration Panel . This feature allows to visually see the maximum amount of symbols available for the field.

39. If the protocol of your site is not specified in the engine settings , DLE will use a secure SSL connection and will generate links to HTTPS protocol starting from this engine version.

40. Preventive measures are added to protect the site from "endless" redirects if only HTTPS protocol is enabled in the engine settings and the server is not configured properly and does not transmit information about the used protocol.

41. Preventive measures are added for the word filter section to protect against accidental deletion of words from the word filter in Administration Panel . Now this action requires confirmation.

42. 403 HTTP code (access is denied) is sent to the browser for personal article bookmarks pages if an unregistered user goes to the bookmark address. Thus the page’s data will not be indexed by the search engines. Search engines are not indexing a page with just one access error.

43. The database load has been significantly reduced when displaying the latest comments on websites with a large number of comments.

44. The display of the tag cloud block is optimized for databases with a large number of articles on the site. The database query is improved and speeded-up.

45. Support for curly braces "{" and "}" in the "Word Filter" module is added and now you can use words containing these symbols in the filter.

46. Articles from the site map are automatically hidden from search engines if access to the article is denied for guests in "Access" tab of the article.

47. Froala and TinyMCE editors have been updated. Previously found issues are fixed in both of them.

48. HTML code parser for published articles is updated .

49. An issue with the incorrect CRON notification of search engines about the site map updates is fixed when the site name was specified without a protocol in the engine settings.

50. An issue is fixed where visual editors could not be displayed on the article publication page if there were "custom" tags on the page.

51. An issue is fixed where the visual editor could not load during quick editing if articles display was done only by {custom …} tag, without using the main {content} tag.

52. An issue is fixed where the merged text was sent without line breaks in e-mail notifications about new comments or personal messages.

53. An issue is fixed where line breaks were lost in empty lines when using the TinyMCE editor for articles.

54. An issue is fixed where some template tags for static pages were displayed incorrectly when displaying static pages in search results.

55. All previously declared and found small errors are fixed.

Information on the engine installation for clients:

Attention! This information is only available to users with a valid license for DataLife Engine. If you have already purchased the script, you must log in with your account.


If you are not a customer, you can on our website.

Приветствую всех, кто посвящает этим строкам свое драгоценное время.

В этой статье я хочу рассказать о способах оптимально настроить сервер и систему управления контентом DataLife Engine. За 4 года работы с интернет сайтами и серверами я усвоил, что безопасность превыше удобства и что ей нужно уделять внимание. Оговорка : я не претендую на авторство чьей-либо интеллектуальной собственности! Весь материал собран на просторах интернета.

Ниже будут описаны действия, которые помогут распределить нагрузку сервера, обезопасить его от DOS атак, ограничить доступ к FTP протоколу и правильно сконфигурировать систему DataLife Engine.

Защита и конфигурация вашего сервера.

1. Настройка конфигурации сервера с использованием связки front-end Nginx к Apache.

Преимущества подобной схемы можно понять на небольшом примере. Представьте себе, что вашему веб серверу Apache необходимо обслужить порядка 1000 запросов одновременно, причем многие из них подключены к медленным каналам связи. В случае использования Apache мы получим 1000 процессов httpd, на каждый из которых будет выделена оперативная память, и эта память не освободится до тех пор, пока клиент не получит запрошенный контент.

В случае схемы с применением front-end сервера получим значительную экономию ресурсов за счет того, что после поступления запроса, nginx передает запрос Apache и быстро получает ответ. В итоге, Apache, после того как отдал ответ nginx, освобождает память. Далее с клиентом взаимодействует веб-сервер nginx, который как раз и написан для раздачи статического контента большому количеству клиентов при незначительном потреблении системных ресурсов.

Для корректной работы нашей связки понадобиться модуль для Apache. Возникает такая необходимость по следующей причине: запросы к Apache приходят с IP-адреса, на котором работает nginx, соответственно, в журнальных файлах Apache будет фигурировать только IP-адрес nginx сервера. Также без использования данного модуля начнутся проблемы со скриптами, в которых используется IP-адрес посетителя и перестанет правильно работать механизм ограничения доступа по IP-адресам с помощью.htaccess.

Установка NGINX на популярные ОС.

Red Hat Enterprise Linux 4 / CentOS 4
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов.

Red Hat Enterprise Linux 5 / CentOS 5
Для установки nginx в этих операционных системах вам необходимо подключить дополнительный репозиторий пакетов EPEL.

ASPLinux Server 5 / Fedora
nginx присутствует в стандартной поставке дистрибутива.

Если репозитории подключены или просто не требуются, выполняем: yum install nginx

Установка Apache.

Чтобы установить Apache веб-сервер достаточно выполнить: yum install httpd

Установка mod_rpaf.

1. Устанавливаем пакет httpd-devel:

yum -y install httpd-devel


2. Скачиваем и устанавливаем mod_rpaf:
Входим в директорию /usr/local/src

cd /usr/local/src


Загружаем в /usr/local/src файл mod_rpaf-0.6.tar.gz

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz


Распаковываем mod_rpaf-0.6.tar.gz

tar xzf mod_rpaf-0.6.tar.gz


Переходим в каталог в который распаковали

Ставим модуль в систему

apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c


3. Далее нужно создать файл конфигурации mod_rpaf - /etc/httpd/conf.d/rpaf.conf и добавить в него следующие строки:


RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy


где xx.xx.xx.xx и yy.yy.yy.yy - IP адреса вашего сервера. Если на сервере более двух IP, добавьте их по той же аналогии.

service httpd restart


4. В nginx внутри блока http {} должны быть указаны строки:

proxy_set_header Host $host;


Если данные строки указаны, дописывать не нужно.

Если модифицируется nginx.conf, следует перезапустить nginx:

/etc/init.d/nginx stop
/etc/init.d/nginx start


5. Как проверить, работает ли установленный модуль?
На любом из доменов, которые расположены на Вашем сервере, разместите файл test.php с содержимым:

" echo $_SERVER["REMOTE_ADDR"]; ?>"


Далее зайдите по ссылке , где domain.tcom - имя вашего домена. Если отображается IP, отличающийся от IP вашего сервера, модуль работает корректно.

Настройка NGINX.

Ниже приведен конфигурационный файл nginx для работы в качестве front-end сервера. Подразумевается, что nginx будет работать на всех интерфейсах на 80 порту, а Apache будет работать на интерфейсе 127.0.0.1 и порту 8080. Сохраните данный конфигурационный файл в каталоге /etc/nginx/ с именем nginx.conf.

user nginx;
worker_processes 10;
error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;

events {
worker_connections 20000;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main "$remote_addr - $remote_user [$time_local] $status "
""$request" $body_bytes_sent "$http_referer" "
""$http_user_agent" "http_x_forwarded_for"";
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
send_timeout 900;
server_tokens off;
server {
listen 80;
server_name _;
server_name_in_redirect off;
access_log /var/log/nginx/host.access.log main;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 10m;
}
}


Настройка Apache.

В файле конфигурации Apache /etc/httpd/conf/httpd.conf найдите строку:

и замените ее строкой:

Listen 127.0.0.1:8080


Настройка mod_rpaf.

Добавьте модуль mod_rpaf в файл конфигурации Apache. Для этого в файл /etc/httpd/conf/httpd.conf добавьте следующую строку:

LoadModule rpaf_module modules/mod_rpaf-2.0.so


Затем в этот же файл добавьте строки:

RPAFenable On
RPAFsethostname Off
RPAFproxy_ips 127.0.0.1 192.168.0.1
RPAFheader X-Real-IP


Вместо 192.168.0.1 необходимо поставить IP-адрес сервера.

2. Конфигурация сервера для защиты от dos-атак.

Включаем в nginx кеширование главной страницы для тех у кого нет cookie.

Добавляем ограничения в nginx.conf:

limit_req_zone $binary_remote_addr zone=two:20m rate=2r/s;
server{
location / {
limit_req zone=two burst=5;
}
}
}


Пользуемся tail и awk:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503


Подключаем лог:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "{ print $1 }"


Получаем IP машин:

iptables -A INPUT -p tcp -j DROP -s $IP


Заносим IP в Firewall:

tail -f /var/log/nginx/access.log | grep GET / HTTP/1.1" 503 | awk "{ print $1 }" | xargs -t -l iptables -A INPUT -p tcp -j DROP –s


Теперь установим connlimit для iptables чтобы ограничить подключения ботов. В правилах ставим разрешение на 5 подключений с одного IP, и 25 из подсети класса С.

DDOS атака с 16000 ботов - Load average: 1.4 1.9 2.0

Ограничение доступа по FTP

Для этого нам понадобитсья файл.ftpaccess. Он поможет запретить или разрешить доступ по FTP с указанных IP адресов. Кто-то может задать вопрос: «У меня динамический IP, как мне правильно использовать.ftpaccess?» Ответ я подразумеваю только такой: «Если вам нужна данная надстройка безопасности - приобретите у вашего провайдера статический IP. Много денег у вас за него не попросят.»

Чтобы создать.ftpacces файл нам понадобиться SSH доступ. Можно воспользоваться программой winscp. Настроек в.ftpaccess может быть большое множество, однако нас интересует только один параметр. Прописав эти строки в файле вы закроете полностью доступ от всех:

Deny from all


После написанного выше, никто не сможет зайти на ФТП. Для добавления разрешения доступа определенному IP нужно указать следующие параметры:

Allow from 127.0.0.1
Deny from all


Естественно адрес 127.0.0.1 указан для примера и его нужно заменить на собственный.

Важно! Лучше всего запретить доступ по FTP абсолютно всем и подклчаться только по SSH.

Защита системы управления контентом DataLife Engine.

1. Установите и настройте .

2. Переименуйте файл админпанели и сделайте фейк по старому адресу (www.sait.com/admin.php) при переходе на который пользователь будет заблокирован посредством запрета его ip в.htaccess.

Переименовали? Теперь создаем в корневом каталоге файл ip.txt для хранения ip-адресов. Даем ему и.htaccess права CHMOD – 777.

Создаем файл admin.php следующего содержания:


$ip = getenv ("REMOTE_ADDR");

$log = fopen("ip.txt", "a+");
fwrite($log, "// ".$ip."\n");
fclose($log);

$f = fopen($_SERVER["DOCUMENT_ROOT"] . "/.htaccess", "a");
fwrite($f, "\ndeny from " . $ip);
fclose($f);

Админ панель DataLife Engine

Текст, например: Твой ip в логах, я найду тебя!

Бойся, ничтожество, ха-ха!

"
3. Добавим дополнительную аутентификацию в админцентре.

Необходимо придумать еще один логин и пароль (не используйте данные вашего административного аккаунта). Второй логин и пароль должен в корне отличаться от первого. Определились? Отлично! Теперь зашифруем наш пароль в md5 (сделать это можно на сайте md5encryption.com).
Далее открываем admin.php (вспомните, ранее мы его переименовали и, по этому, если вы назвали его superadmin.php - вам необходимо открывать именно этот его) и после строки:

добавляем:

$login="вписываем придуманный логин";
$password="и сгенерированный пароль в md5";
if (!isset($_SERVER["PHP_AUTH_USER"]) || $_SERVER["PHP_AUTH_USER"]!==$login ||
md5($_SERVER["PHP_AUTH_PW"])!==$password) {
header("WWW-Authenticate: Basic realm="Admin Panel"");
header("HTTP/1.0 401 Unauthorized");
exit("Access Denied");}


4. Отключим неиспользуемые системой функции php.

Для поиска файла php.ini создаем файл phpinfo.php с текстом:

После поиска обязательно удалить phpinfo.php!

disable_functions = allow_url_fopen, eval, exec, system, passthru, scandir, popen, shell_exec, proc_open, proc_close, proc_nice, get_current_user, getmyuid, posix_getpwuid, apache_get_modules, virtual, posix_getgrgid, getmyinode, fileowner, filegroup, getmypid, apache_get_version, apache_getenv, apache_note, apache_setenv, disk_free_space, diskfreespace, dl, ini_restore, openlog, syslog, highlight_file, show_source, symlink, disk_total_space, ini_get_all, get_current_user, posix_uname, allow_url_fopen


5. Создаем фильтрацию GET и POST запросов, предотвращаем инъекции в БД и получение из нее данных.

Создаем файл.php с произвольным названием и следующим содержимым:

//поставить еденицу если хотите включить отладку запросов
$debug = 0;

$bag_req = array("select", "eval", "echo", "UPDATE", "LIMIT", "INSERT", "INTO", "union", "CONCAT", "INFORMATION_SCHEMA", "OUTFILE", "DUMPFILE", "LOAD_FILE", "BENCHMARK", "SUBSTRING", "ASCII", "CHAR", "database", "HEX", "\\.\\/", "%00", "\\.htaccess", "config\\.php", "document\\.cookie");
$request = serialize($_GET);


if($_GET)
{
foreach ($bag_req as $key => $value) {
{
В массиве найден запрос $value
$request";
}
}
}
if($_POST)
{
$request = str_replace("selected_language", "sl", serialize($_POST));
$urequest = urldecode($request);
$brequest = base64_decode($request);
foreach ($bag_req as $key => $value) {
if(preg_match("/$value/i", $request) || preg_match("/$value/i", $urequest) || preg_match("/$value/i", $brequest))
{
if($debug == "1") $do_debug = "
В массиве найден запрос $value , который блокирует правильную работу
$request";
die("BAD REQUEST $do_debug");
}
}
}
?>


Сохраняем его на сервере в любом каталоге системы DLE. Открываем файл engine/classes/mysql.php и после:

if(!defined("DATALIFEENGINE"))
{
die("Hacking attempt!");
}


подключаем созданный файл:

include_once(ENGINE_DIR."/путь_к_файлу/название.php");


6. Используя бесплатные компоненты к DLE обязательно узнайте мнение специалиста о их надежности.

При возникновении вопросов обращайтесь к поисковым системам - весь материал в свободном доступе!
Есть что добавить? Милости прошу к обсуждению!

Удачи вам и вашим проектам!