Widziałem zrzuty ekranu rozwiązania, tam wersja Joomla jest wykrywana przez dostęp do strony tylko przez http.
Np. Rozwiązanie wyświetlało wszystkie 3 cyfry wersji Joomla. np. 2.5.28 lub 1.0.x itd., uzyskując dostęp do strony internetowej tylko przez http.
Chcę utworzyć małą aplikację, aby otrzymywać informacje o wersji zainstalowanej na serwerze. Ponieważ nie zawsze mam pełny dostęp do pamięci FTP, chciałbym wiedzieć, jak mogę wyodrębnić wersję Joomla z prostego HTTP GET.
joomla-3.x
joomla-2.5
joomla-1.5
hkais
źródło
źródło
Odpowiedzi:
Ok, więc to właśnie pisałem wczoraj.
Tylko dla Joomla 2.5 i 3.x.
http://
w adresie URL nie ma prefiksu. Jeśli tak, to dodaje. Uwaga: w tym przypadku nie wziąłemhttps://
pod uwagę.<version>
tagu.<version>
znacznika.switch
bloku dalej posiadanego w kodzie. To podejście nie da dokładnej wersji oprócz 2 z nich, ale da średnią. Myślałem o wykryciu wersji jQuery, ale potem zdałem sobie sprawę, że wiele osób aktualizuje wersję podstawową do najnowszej, co spowodowałoby, że wyniki byłyby niedokładne.Unknown
.Uwaga: ten skrypt używa,
CURL
więc upewnij się, że jest włączony na twoim serwerze.Następnie wywołaj funkcję tak:
W swojej witrynie utworzyłem moduł jako narzędzie dla innych użytkowników:
Narzędzie do wykrywania wersji Joomla
Utworzyłem również repozytorium Github, jeśli chcesz je rozwidlić lub przesłać żądania ściągnięcia:
Wersja Joomla Detect Github Repo
W każdym razie, jak niektórzy z was wiedzą, nie jestem programistą zaplecza, więc w kodzie jest prawdopodobnie wiele ulepszeń. Jeśli masz inne rozwiązanie lub możesz zaktualizować to, co obecnie posiadam, opublikuj je jako nową odpowiedź.
źródło
Jeśli interesują Cię tylko wersje stron, którymi zarządzasz , możesz utworzyć i zainstalować małą wtyczkę, która udostępnia wersję Joomla, otwierając na przykład adres URL wtyczki
http://example.com/plugins/getversion/getversion.php?configuredSecret
/administrator/manifests/files/joomla.xml
w celu zwrócenia numeru wersji.Uwaga głównie dla początkujących:
configuredSecret
jest jednym z klasycznych sposobów udostępniania publicznie widocznego kanału tylko autoryzowanym żądaniom. Jest powszechnie używany do łączenia dwóch systemów, jeśli nie ma lepszego sposobu ochrony połączenia integrującego.źródło
Dodam to jako osobną odpowiedź, ponieważ nie jest to dokładnie rozwiązanie kodu.
Opracowałem rozszerzenie Firefox, które wykonuje 2 żądania XHR. Pierwszy do strony Joomla API, aby uzyskać najnowszą wersję, drugi do
joomla.xml
pliku aktualnie oglądanej strony. Następnie porówna dwie wersje iconsole.log()
wynik.URL: https://github.com/C-Lodder/joomla-update-checker
źródło