2 часа назад
Я тоже продукт старой школы и привык к алгоритмическому мышлению. Использование нейронки в качестве крутого поисковика освоил давно. Как и большинство...
Заменит ли ИИ разработчиков? 10
26 сентября 2025, 20:31
Отличная работа и планы отличные!
🚀 PageBlocks 2.8.0 — большой шаг вперёд 17
25 сентября 2025, 12:43
Правильный сценарий — это снять с публикации и товары (хотя это бывает часто не удобно для менеджеров и т.п.).
Но в целом компонент типа msPre позвол...
Исключить из выборки msProducts товары из неактивных категорий 1
24 сентября 2025, 15:36
А что начинать, вон альфа версия, пожалуйста: github.com/modx-pro/miniShop3/
Альфа — это значит в целом то основное все работает. Собери небольшой ...
Релиз miniShop2 ver. 4.4.1 5
22 сентября 2025, 10:39
10 наверное многовато, но я думаю что часик подумать точно нужно, чтобы аккуратно всё сделать.
Как обновить модуль Easy Comm чтобы появилась возможность добавить файлы к отзыву? 6
20 сентября 2025, 15:07
Добрый день! Спасибо за описание)
Еще стоит упомянуть про вкладку Actionbuttons (в настройке MIGX-конфигурации) — тут надо отметить галочку additem —...
MigxDB - Делаем безграничное хранилище "объектов" в ресурсах. 10
20 сентября 2025, 09:13
ну как я и говорил, это наверное самый распространенный косяк)))
msOrderFields. Управление полями заказа. 48
19 сентября 2025, 18:18
Сложностей мне и так хватает. У меня gtsAPI используется в работе. А для документации и кейсов делать слишком длинные уроки разве разумно?
PVAdmin мини-админка для MODX 2.8 16
19 сентября 2025, 02:26
Какая версия MODX?
Selectel S3 + AWS S3 Media Source 3.0 как источник файлов для галереи изображений 2
Всего 125 101 комментарий
Так-то я знаю, что в leftJoin указываются соответствия строк таблиц, но что после объявления псевдонима дальше используется только он — это я забыла. Спасибо!
Подкидываю альтернативную идею, если интересно — проверять версию MODX (или брать из настроек), скачивать соответствующий дистрибутив, и проверять хэши файлов сайта по файлам дистрибутива.
То есть, берём оригинальные файлы index.php в connectors, manager и корне, а так же файлы из core — и проверяем, чтобы все они присутствовали на сайте с оригинальным хэшем.
Если все основные файлы не изменены, то сайт не заражён и должен работать корректно.
Правда, есть еще возможность заражения только файлов дополнений, без ядра. Наверное, можно и их сверять с дистрибутивами из репозитория по той же логике — скачать нужную версию и сравнить хэши…
Кстати, вот вам еще идея — создать онлайн базу для проверки хэшей файлов MODX и дополнений через API. Чтобы простые GET запросы, типа /api/hash/modx/2.8.1/core/model/modx.class.php возвращали sha1 хэш запрошенного файла или 404.
Конечно, это не спасёт от уже залитых шеллов и вредоносов, но они не будут запускаться через сайт. А если запустятся и что-то изменят, то следующая проверка это покажет. И если раз за разом файлы будут меняться — то можно уже более внимательно искать, что там такое у вас залито.
И кажется ты не понимаешь что это за магические письмена
Первым аргументом в метод leftJoin передаётся имя класса ('goodStarVoteCount'); вторым псевдоним для таблицы ( 'countaverage'), если не передать будет взято имя класса; третьим аргументом передаётся условие соединение таблиц как в операторе ON в SQL ( 'modResource.id = countaverage.thread').
На чистом SQL запрос будет примерно таким
Как видишь в секциях SELECT и ON используется псевдоним таблицы, в xPDO тоже надо использовать псевдонимы, если они указаны в leftJoin или setTableAlias. Поэтому вот это всё
неверно, должно быть так
И наконец, чтобы проверить какой же запрос будет выполнен можно сделать так
Установил, настроил, капча выводится, но если не чекнуть её и отправить форму получаю ошибку: Журнал ошибок ModX пуст.
Modx 3.1.2-pl, YaSmartCaptcha 1.0.2-pl, Formit 5.1.1-pl.
В логе сервера такая ошибка:
Подскажите, пожалуйста, может я что-то не так настроил?
Кто ещё не нажал кнопочку «Отправить деньги» в разделе «Поблагодарить автора» под анонсом поста — самое время всем это сделать!
он же там потом разрастаться будет и никто из разработчиков про это помнить не будет.
Хочется отдельный файл лога — почему не положить рядом со стандартным errors.log что-то типа
?
Сайт был версии 2.7.2
Зараженные директории:
Ну и да как уже выше писали на уровень выше корня сайта были созданы директории:
.local, .config — в которых и была пакасть.
Компоненты обновил, систему обновил, дрянь удалил.
3й День пока все ок
Но там ведь нет возможности указать периодичность запусков заданий. Только можно указать точное время запуска.
При такой структуре Scheduler'а, для достижения периодичности выполнения нужно будет реализовать логику самоперепланирования внутри скриптов, а первый запуск придется сделать вручную. Это как-то не очень удобно не находите? и не очень надежно. Если вы знаете в каком компоненте есть реализация нормальной работы с этим планировщиком напишите. я гляну, вдруг что-то не так понимаю.
А вот хостинг как раз Timeweb — и очень похоже, что именно у них где-то дырка. Что характерно — заблокировали молча, без всяких предупреждений о нагрузке — потом изучая график нагрузки стало понятно, что уже больше месяца этот майнер работал.
Так же рекомендую произвести поиск каким-нибудь антивирусам по популярным функциям типа base64_decode или развернуть старый бэкап — так как было найдено 3 бэкдора в разных папках сайта + админер в одной из папок, которых ранее точно не было.