При обновлении сайтов Joomla до последней версии у меня всегда возникает небольшая паника в случае, если сайт, который я обновляю, созданный в прошлом каким-то мошенническим разработчиком (то есть мной, 6 лет назад), содержит изменения в функциях («хаки») для основные файлы Joomla.
В идеальном мире я мог бы избежать этой потенциальной коронарной болезни, имея расширение или инструмент, который:
- Знает все основные файлы Joomla, включенные в каждую версию Joomla
- Сравнивает каждый файл в моей установке Joomla с основными исходными файлами Joomla на Github или где-либо еще (даже что-то вроде сравнения хешей MD5)
- Если они различаются, запустите инструмент сравнения, чтобы найти различия и пометить их для просмотра.
- Если они одинаковые, отличный материал, никаких действий не требуется
- Создайте отчет в конце, детализирующий результаты вышеупомянутого процесса
Я нашел это расширение, которое выполняет большинство из вышеперечисленных, но оно не обновлялось с J2.5.7 или вообще для J3.X - так что этого нет.
В моей компании мы используем MyJoomla для проведения полных «аудитов» сайтов Joomla (длинный контрольный список рекомендаций и исправлений для сайтов Joomla), частью которых является «Проверка целостности основных файлов». Однако за эту услугу взимается ежемесячная абонентская плата, и все, что я действительно хочу проверить, - это какие файлы были взломаны перед обновлением.
Кто-нибудь знает какие-либо другие решения? Помимо «не взламывать основные файлы» - до недавнего времени иногда не было другого способа выполнить определенные задачи без множества дополнительных, часто неоплачиваемых, работ.
Ответы:
Я не могу представить себе лучший инструмент, чем Git . Это отличный инструмент для отслеживания изменений, которые вы вносите в код (если вы делаете какие-либо изменения), это система, используемая Joomla для предоставления кода (что очень здорово), и это ее цель!
Рабочий процесс довольно прост и должен позволить вам не беспокоиться:
git init
в корневой папке локальную копию. Тогда бегиgit add --all
иgit commit
. Это делает снимок кода, как сейчас.git diff
и вы увидите список всех различий в файлах между тем, что у вас работает, и основными файлами.Я признаю, что это довольно «отработанный» ответ, и что не все хотят использовать git в командной строке. Если вы используете Git GUI (например, клиент Github), вы можете пропустить последний шаг, так как GUI обычно будет показывать вам diff автоматически.
В конечном счете, я рекомендую этот метод, так как он учит вас навыку, который поможет, если вы пишете код и вносите свой вклад в Joomla, и сохраняет все проверки локально, так что вам не нужно беспокоиться о доставке кода на другой сайт или службу!
источник
Это продолжение ответа Ф.Фрюина. Akeeba также выпускает бесплатный инструмент под названием SiteDiff. Он позволяет сравнивать 2 сайта, для которых было выполнено резервное копирование с помощью Akeebabackup (есть и бесплатная версия).
Чтобы это работало, вам нужно иметь 2 резервных копии. Одна резервная копия будет на вашем сайте (скажем, это была версия 2.5.19). Для другой резервной копии вам нужно будет установить свежую копию Joomla 2.5.19, а затем сделать резервную копию этой установки. Затем сравните две резервные копии с помощью инструмента SiteDiff.
Проблема этого метода заключается в том, что в резервной копии сайта будет больше файлов, чем в новой установке. Дополнительные файлы будут отображаться как различия, что может затруднить распознавание изменений в ядре по сравнению с остальной частью «шума».
источник
http://audit-fs.co.za/ имеет бесплатный инструмент Audit_FS, который показывает вам измененные файлы Joomla и / или, возможно, поврежденные файлы Joomla.
источник
Я не знаю никакого расширения, кроме упомянутого вами, которое остановлено где-то в J2.5.
Мой способ справиться с этим - использовать настольные приложения для сравнения файлов и папок, и я сравниваю данный сайт с его оригинальной версией joomla. Я лично использую DiffMerge на Mac.
Другая известная мне утилита, которая может помочь вам отслеживать взломанные / измененные файлы на ваших сайтах, - это Admin Tools pro. Это обеспечивает инструмент сканера php. Но практически он предназначен для сайтов, которые вы разработали и отсканировали после запуска, и чтобы помочь вам обнаружить любые зараженные файлы после попыток взлома.
источник