Podczas aktualizacji stron Joomla do najnowszej wersji zawsze mam niewielką panikę, na wypadek, gdy aktualizowana witryna, zbudowana w przeszłości przez jakiegoś nieuczciwego programistę (tj. Mnie 6 lat temu), zdarza się, że zmiany funkcji („włamania”) do podstawowe pliki Joomla.
W idealnym świecie mógłbym uniknąć tej potencjalnej choroby wieńcowej, mając rozszerzenie lub narzędzie, które:
- Zna wszystkie podstawowe pliki Joomla zawarte w każdej wersji Joomla
- Porównuje każdy plik w mojej instalacji Joomla z głównymi plikami źródłowymi Joomla na Github lub gdziekolwiek (nawet coś w rodzaju porównania skrótów MD5)
- Jeśli się różnią, uruchom narzędzie różnicowania, aby znaleźć różnice i oflagować je do recenzji
- Jeśli są takie same, świetne rzeczy, nie wymaga żadnych działań
- Na końcu wygeneruj raport zawierający szczegółowe wyniki powyższego procesu
Znalazłem to rozszerzenie, które spełnia większość powyższych wymagań, ale nie zostało zaktualizowane od wersji J2.5.7 lub w ogóle dla J3.X - więc nie ma.
W mojej firmie korzystamy z MyJoomla do przeprowadzania od czasu do czasu pełnych „audytów” witryny Joomla (długa lista kontrolna najlepszych praktyk i poprawek dla witryn Joomla), z których część to „Kontrola integralności plików podstawowych”. Jednak ta usługa ma miesięczną opłatę subskrypcyjną i wszystko, co naprawdę chcę sprawdzić, to czy jakieś pliki zostały zhakowane przed dokonaniem aktualizacji.
Czy ktoś zna jakieś inne rozwiązania? Oprócz „nie rąbaj podstawowych plików” - do niedawna czasami nie było innego sposobu wykonywania pewnych zadań bez mnóstwa dodatkowej, często nieodpłatnej pracy.
Odpowiedzi:
Nie wyobrażam sobie lepszego narzędzia niż git . Jest to świetne narzędzie do śledzenia zmian, które wprowadzasz w kodzie (jeśli go wprowadzasz), to system używany przez Joomla do tworzenia kodu (co jest niesamowite, co można zrobić) i to jest jego cel!
Przepływ pracy jest dość prosty i powinien być całkiem spokojny:
git init
w folderze głównym kopii lokalnej. Następnie uruchomgit add --all
igit commit
. Spowoduje to wykonanie migawki kodu w obecnej postaci.git diff
a zobaczysz listę wszystkich różnic w plikach między tym, co masz uruchomione, a plikami podstawowymi.Rozumiem, że jest to dość „rozwojowa” odpowiedź i że nie wszyscy chcą używać git w wierszu poleceń. Jeśli korzystasz z Git GUI (takiego jak klient Github), możesz pominąć ostatni krok, ponieważ GUI zwykle pokazuje ci różnicę automatycznie.
Ostatecznie polecam tę metodę, ponieważ zarówno uczy ona umiejętności, która pomoże, jeśli kodujesz i przyczyniasz się do Joomla, i utrzymuje wszystkie sprawdzanie lokalnie, więc nie musisz się martwić o wysyłkę kodu do innej witryny lub usługi!
źródło
Jest to rozszerzenie odpowiedzi FFrewin. Akeeba produkuje również bezpłatne narzędzie o nazwie SiteDiff. Pozwala porównać 2 witryny, których kopie zapasowe utworzono za pomocą Akeebabackup (istnieje również ich darmowa wersja).
Aby to zadziałało, musisz mieć 2 kopie zapasowe. Jedna kopia zapasowa byłaby z Twojej witryny (powiedzmy, że była to wersja 2.5.19). W przypadku drugiej kopii zapasowej musisz zainstalować nową kopię Joomla 2.5.19, a następnie wykonać kopię zapasową tej instalacji. Następnie porównaj dwie kopie zapasowe za pomocą narzędzia SiteDiff.
Problem z tą metodą polega na tym, że w kopii zapasowej witryny będzie więcej plików niż podczas nowej instalacji. Dodatkowe pliki pojawią się jako różnice, co może utrudnić rozpoznanie zasadniczych zmian od reszty „szumu”.
źródło
http://audit-fs.co.za/ ma darmowe narzędzie o nazwie Audit_FS, które pokazuje zmodyfikowane pliki Joomla i / lub prawdopodobnie uszkodzone pliki Joomla.
źródło
Nie znam żadnego rozszerzenia innego niż to, o którym wspomniałeś, które jest zatrzymane gdzieś w J2.5.
Mój sposób na poradzenie sobie z tym polega na użyciu aplikacji komputerowych do porównywania plików / folderów i porównuję daną witrynę z jej oryginalną wersją joomla. Osobiście używam DiffMerge na Macu.
Innym narzędziem, które znam, które może pomóc Ci śledzić zhakowane / zmodyfikowane pliki w twoich witrynach, jest narzędzie administracyjne. Zapewnia narzędzie skanera php. Ale praktycznie ten jest przeznaczony do witryn, które opracowałeś i zeskanowałeś po uruchomieniu, i aby pomóc Ci odkryć wszelkie zainfekowane pliki po próbach włamania.
źródło