26 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Почему modx банит

Проблемы MODX

1. Тег base href

Подобная конструкция доставляет неудобства с оформлением якорей (ссылок на части страницы через #). Код выглядит так: Anchor
Не понятно почему MODX было просто не сделать абсолютные пути от корня сайта.

Также динамический тег [[++site_url]] в base href иногда вызывает появление дублей с поддоменов сайта, поэтому его лучше вызывать некэшированным: [[!++site_url]] .

2. Разработка на Windows

При разработке на Windows имеются проблемы с установкой приложений (дополенний) и в XAMPP и в OSPanel. Они просто не загружаются, не смотря на работающий curl. На хостинге список приложений открывается, но очень медленно.

3. Относительно медленная админка

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

Чтобы не быть голословным, приведу реальный фидбек от клиентов:

Я сделал копию ресурса. Всё норм. Что бы на сайте не висело две одинаковые страницы, убрал галочку Опубликовать. На моменте сохранения изменений всё зависло. Браузер Microsoft Edge.

4. Сниппеты (php-код) и шаблоны редактируются через админку

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

5. Нет системы контроля версий

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

Статья в тему:  Что лучше есть и пить в бане

6. Мало приложений

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

7. Относительно сложное обновление и перенос

Нужно переименовывать файлы, вручную чистить кэш, править базу данных.
И при опять же мало-мальски сложная система обновляется с предупреждениями и ошибками. (Есть плагины simpleUpdater и UpgradeMODX, которые глючат и делают обновление через раз).

8. Проблемы с логином

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

9. Белые экраны Fenom

При использовании шаблонизатора Fenom довольно сложно отследить ошибку. Если что-то пошло не так, вас ожидает белый экран. При достаточно объемном сайте вы узнаете об этом спустя некоторое время от пользователей или от поисковиков. Сам по себе феном в MODX – это костыль, но костыль полезный и обязательный к использованию, если вы тесно работаете с данной CMS.

10. Документация низкого качества

Да, да, не удивляйтесь. Знаменитая документация с rtfm.modx.com устарела и никем не поддерживается. Есть, конечно, доки от плагинов Безумкина, но они тоже далеки до идеала.

11. Разнесение товаров по ресурсам и чанкам

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

12. Проблемы с безопасностью

Обычно MODX славился своим быстрым выходом патчей, пару раз даже обгоняли WordPress по скорости релиза заплаток. Но последний факап войдет в историю данного движка. Ведь после обнародования уязвимости были взломаны все сайты до версии 2.6.4 включительно (т.е. до последней). Взлом миновал либо совсем непопулярные ресурсы, которые не были проиндексированы поисковиками, либо те, для которых была дополнительно переименована директория админки со стандартной /manager/ .

Статья в тему:  Как заварить ромашку на водяной бане

Итого

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

Последнее крупное обновление MODX Revo было аж в 2014 году. С тех пор они только фиксили мелкие баги. Было объявлено, что выйдет MODX 3 (тот же MODX Revo с новым дизайном админки), но даже в этом случае ничего коренным образом не изменится.

Всем, кто в 2018 году учит MODX можно только посочувствовать. Выбирайте фреймворки (Laravel, Yii2 для PHP и Django для Python) либо современные CMS типа October CMS.

Поход на Linux (Ubun …

Как исправить tearin …

Комментарии читателей

«1. Тег base href — Подобная конструкция доставляет неудобства с оформлением якорей (ссылок на части страницы через #)».
Можно пример того как это мешает?! Просто я даже не могу представить в чем тут может быть проблема…

«2. Разработка на Windows — При разработке на Windows имеются проблемы с установкой приложений…»
Все работает, причем без танцев с бубном! На чем сервак поднимаешь? есть ли ошибки в логах? Проверяй может ты сам накосячил…

«3. Относительно медленная админка. … приходится перезагружать страницу, что не добавляет скорости наполнения….»
Я не стороник Extjs и он явно не очень. Но вот про перезагрузку страницы это явно ерунда, modx из коробки обучен ajax и extjs его активно использует.

«4. Сниппеты (php-код) и шаблоны редактируются через админку. … Но все-равно неудобно, хочется нормального поведения из коробки.»
А это разве не из коробки? Тыкаешь на галочку и все… что может быть проще… А если использовать pdoTools, то можно вообще все перевести в файлы и не париться вообще.

Статья в тему:  Как сшить шапку для бани

«5. Нет системы контроля версий»
Есть как штатные решения по типу VersionX для админки, которая хранит версии для каждого отдельного ресурса/чанка/сниппета/плагина может еще чего, тут надо смотреть все его возможности. Есть gitify, более сложная и мощная штука. Встречал еще пару решений но не проверял лично, так как эти решения быстрые и удобные.

«6. Мало приложений»
Ну фиг знает, по моему решений более чем достаточно а если чего нет, то в чем сложность написать свое, да еще и не костыльное?! А по поводу «В Twitter тоже не может отправить новую ссылку» — создаешь плагин на нужное событие и вот тебе отправка куда угодно и чего угодно.
Так же «Коммьюнити относительно маленькое и низкого качества» — низкого качества?! Ну как бы да есть отдельные личности коих в октябре не мало. Но вот Люди на которых зиждиться это cmf и многие разработчики достаточно не заурядные умы. Ну можнож открыть исходники да посмотреть.

«7. Относительно сложное обновление и перенос»
Тут тебе правильно подсказали, одной кнопкой все решается.

У меня кстати был обратный процесс, я из октября в modx ушел. Просто иногда бывает дают типовую задачу а потом говорят что надо сделать неистовую фигню которую придумали вчера. Так вот modx достаточно гибок и в такие моменты на нем можно делать более быстрее и удобней недели на октябре или wp.

Безопасность в MODX Revolution

После эпичного взлома MODX Revolution, произошедшего приблизительно с 12 по 20 июля 2018 года, многие совершенно естественно задумались о том, как максимально защитить свои сайты от повторения подобного. После восстановления 10+ сайтов невольно задумываешься о многом! Мне пришлось восстанавливать больше пятнадцати взломанных и заражённых сайтов, и поэтому в процессе я сделал для себя небольшую инструкцию на будущее, что должно быть сделано для безопасности в MODX в обязательном порядке.

Статья в тему:  Как сделать отопление в бане от печки

Базовая защита

Желательно предпринять все действия по “закалке” Модэкса, описанные в официальном руководстве, в особенности то, что касается перемещения и переименования основных папок.

1. Обновление

Необходимо обязательно обновиться до последней версии MODX Revolution 2.6.5 или старше, а также обновить все плагины до последних версий. Особенно Gallery, именно через него были взломаны многие сайты. При восстановлении сайтов я успешно обновлял их с 2.2.16 до 2.6.5.

2. Перемещение папки core на уровень выше

Вынести папку core над public_html — одно из самых важных действий. После этого необходимо заменить пути к папке core на новые пути в следующих файлах:

3. Переименование служебных папок

Переименовать все служебные папки (assets, connectors и manager), например так:

После переименования нужно прописать новые пути к этим папкам тут:

Саму по себе папку /assets/ можно оставить для файлов шаблонов и всяких подгружаемых картинок. При этом в новую папку /assets6827hdh2gj2/ нужно перенести только папку /assets/components/ и служебные папки, которые создавались компонентами, то есть, всё то, что вы сами не создавали, но оно там как-то появилось.

4. Настройка плагинов Gallery и PhpThumbOf

Также, если вы используете плагины Gallery и PhpThumbOf, в их настройках лучше указать пути именно к старой папке assets.

Системные настройки для Gallery:

Системные настройки для PhpThumbOf:

Теперь эти плагины будут создавать файлы и папки в старой папке / assets / и не будут светить новую папку в HTML-коде.

Зачем вообще это нужно?

Есть данные, что во время взлома вражеские скрипты тупо проверяли доступность на сайте файла /assets/components/gallery/connector.php, и если он был доступен, взламывали сайт, посылая на этот коннектор определённые запросы. Скрывая папку /assets/ через переименование, вы сможете избежать такой атаки. Для этого же нужно и разделение папки assets на две. За счёт того, что файлы шаблона будут лежать в старой папке, именно путь /assets/ будет светиться в HTML-коде вашего сайта. О существовании папки /assets6827hdh2gj2/ злоумышленники могут и не догадаться, ведь этот путь по большей части будет использоваться в админке сайта. Если только какой-то специфический компонент не потребует явного указания своих скриптов в коде страницы! Что ж, тогда придётся засветить этот путь. Или перенести необходимые файлы компонента в старую папку /assets/, убедившись, что после этого всё работает, что предпочтительнее с точки зрения безопасности, хоть и может создать проблемы при обновлении.

Статья в тему:  Что нужно для того чтобы построить баню

5. При установке MODX указывайте нестандартный префикс баз данных

Это классика закалки Модэкса. Можно переименовать например так: modx_ -> g538_

6. Зачистка старого кэша

На этом этапе логично зачистить всё содержимое папки /core/cache/

Более продвинутая защита

1. Необходимо закрыть папки коннекторов и админки базовой авторизацией через .htaccess или в вашем конфиге для NGINX. Напомню, что папка core уже вынесена над public_html. Если нет, то закройте и её тоже. Дополнительный слой защиты с хорошим паролем никогда не помешает!

2. Уберите из файла robots.txt специфичные для MODX Revolution папки, чтобы по нему нельзя было с ходу понять, на какой системе сделан сайт. Это же касается системного параметра send_poweredby_header, он должен быть выставлен в «нет»

3. Пропишите в .htaccess или в вашем конфиге для NGINX, чтобы при обращении к файлу /public_html/config.core.php в корне вашего сайта возвращался ответ 404 – страница не найдена. Это также поможет затруднить определение CMS.

Общие вещи в порядке паранойи

1. Убедитесь, что для всех файлов на вашем сайте выставлены правильные разрешения. По умолчанию в MODX это 755 для папок, и 644 для файлов.

2. Убедитесь, что используете сложные пароли для пользователей админки

3. Скачайте сайт и прогоните его какой-нибудь антивирусной утилитой типа «ai-bolit» чтобы убедиться, что там нет ничего вредоносного.

4. Подключите какой-нибудь сертификат SSL, например бесплатный от LetsEnctypt.

5. Поставьте максимально высокую версию PHP для сайта.

6. Забэкапьте все файлы и базу на сервере и у себя локально, настройте систему реулярных бэкапов на хостинге.

7. Закройте доступ через SSH из контрольной панели хостера или настройте доступ по публичному ключу, если это выделенный сервер.

Статья в тему:  Как правильно париться в сауне женщине

Ваш доступ к системе управления заблокирован администратором

Пытаетесь войти в админку MODX и получаете данное сообщение? Рассказываю как снять блокировку. Кстати этим же способом можно восстановить забытый пароль от админки.

Как разблокировать пользователя MODX Revolution

Простое решение

  • На странице входа в админку MODX нажмите на ссылку Забыли своё имя пользователя?
  • затем укажите е-mail учетной записи или имя пользователя и на почту придёт ссылка со сбросом пароля.

Если не получилось

  • Откройте базу данных сайта через phpMyAdmin, консоль или другой привычный вам инструмент управления базами данных;
  • найдите таблицу modx_user_attributes и измените на 0 (ноль) содержимое полей: blocked, blockeduntil, failedlogincount;
  • вернитесь на страницу входа в админку MODX, обновите ее, после чего авторизуйтесь под своим логином и паролем.

Примечание: Префикс таблиц modx_ в базе данных может быть другим. Указывайте свой.

В случае неудачи, возможно дополнительно нужно изменить пароль.

Как сменить пароль пользователя MODX Revolution

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

Найдите таблицу modx_users и измените для нужного пользователя значения полей:

  • password: kXXEPN9pTwdXnaSlDvUzaJcR2y/1XzCqs9AXcxOzFdQ=
  • salt: 18de7acfa078ec932d6d09f18cf0dbac
  • hash_class: hashing.modPBKDF2
  • cachepwd: пустое
  • active: 1

То же самое можно выполнить через запрос к базе данных:

Примечание: Префикс таблиц modx_ (для поля modx_users) в базе данных может быть другим. Указывайте свой.

Примечание: Если меняете учетную запись, отличную от администратора, нужно изменить id в начале и конце запроса на id пользователя, которого меняете. Значение поля sudo 1 означает, что пользователь является администратором, для обычных пользователей нужно указывать 0.

Вернитесь на страницу входа в админку MODX, обновите ее, после чего авторизуйтесь под своим логином и паролем password321.

Статья в тему:  Когда под забором в крапиве

Когда войдете в админку установите свой пароль ПрофильИзменить пароль.

На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.

Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.

5 способов обезопасить сайт на MODX

28 февраля 2016

Люди думают, что безопасность — это существительное, что-то, что можно купить. На самом же деле безопасность — это абстрактное понятие, как счастье.
James Gosling

Разработчики MODX Revolution постоянно ведут работу над улучшением безопасности создаваемой ими системы. Тем не менее, со стороны создателя сайта тоже должны быть приложены определённые усилия, чтобы безопасность сайта оставалась на должном уровне.

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

1 Перемещение ядра

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

Чем грозит расположение каталога ядра в доступном месте?

  • Злоумышленник может узнать версию MODX (https://site.ru/core/docs/changelog.txt) и использовать данную информацию для поиска соответствующих уязвимостей.
  • Злоумышленник может получить информацию об установленных дополнениях (https://site.ru/core/packages/).
  • Злоумышленник может скачать пакеты дополнений (https://site.ru/core/packages/core.transport.zip), особенно обидно, если они платные.
  • Если вдруг возникнет такая проблема в работе сервера, когда php-файлы перестанут исполняться, а вместо этого станут отображаться «как есть», то злоумышленнику ничего не стоит узнать доступы к базе данных.

Решение

Давайте рассмотрим это на простом примере. Допустим, сайт расположен по следующему адресу:

Статья в тему:  Как выбрать проект бани

В этом каталоге можно увидеть файлы index.php, .htaccess, config.core.php и каталоги assets, connectors, core.

Как видим, ядро MODX лежит здесь:

Проблема в том, что каталог core находится на одном уровне с файлами, доступными обычным посетителям сайта. Самый простой вариант решения проблемы — перенос каталога с ядром MODX выше по дереву файловой системы. Сделать это проще всего по SSH или с помощью файлового менеджера, предоставляемого хостингом или панелью управления вроде ISP Manager. Итак, после перемещения каталога ядра его новым расположением будет следующий путь:

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

  • config.core.php
  • connectors/config.inc.php
  • core/config/config.inc.php
  • manager/config.inc.php

Как раз недавно я случайно наткнулся с данной проблемой на одном сайте, который работал на какой-то CMS (если это творение вообще можно назвать CMS), написанной на коленках во время концерта Стаса Михайлова.

2 Изменение адреса панели

Обычно административная панель сайта на MODX находится по адресу https://site.ru/manager. Немного замести следы пребывания MODX помогает перемещение админки, а сделать это проще простого — достаточно переименовать сам каталог (например, из manager в admin или abrakadabra), а затем указать новый путь в одном файле конфигурации:

  • core/config/config.inc.php

3 Обновляйте дополнения

Даже если функционал текущих версий дополнений полностью устраивает, это ещё не значит, что нет причин для обновлений. Как известно, новые версии ПО несут с собой не только новые возможности, но и различные исправления ошибок (хотя новые ошибки тоже обычно идут в комплекте).

4 Обновляйте MODX

Как я уже писал выше, разработчики MODX постоянно работают над обеспечением безопасности MODX, поэтому рекомендуется периодически обновлять MODX до последнего стабильного выпуска.

Статья в тему:  Что такое вентилируемый фасад дома из газобетона

5 Разделяй и властвуй

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

Даже если у контент-менеджера не зачешутся ручки, чтобы поковыряться в работе системы, может объявиться злоумышленник, который, воспользовавшись некомпетентностью пользователя, сможет перехватить доступ в админку. Это особенно актуально, если работа с сайтом ведётся через незащищённое соединение, вследствие чего логин и пароль передаётся по сети в открытом виде. Для уменьшения риска перехвата пароля рекомендуется приобрести и установить SSL-сертификат, тогда все запросы будут передаваться в зашифрованном виде.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: