Podczas sprawdzania kodu źródłowego zauważyłem, że WordPress używa jQuery v1.12.4. Dlaczego WordPress korzysta z tej przestarzałej wersji jQuery?
25
Podczas sprawdzania kodu źródłowego zauważyłem, że WordPress używa jQuery v1.12.4. Dlaczego WordPress korzysta z tej przestarzałej wersji jQuery?
Odpowiedzi:
Istnieje wiele motywów i wtyczek korzystających z jQuery ładowanych przez rdzeń WP. Za każdym razem, gdy jQuery jest aktualizowany, istnieje ryzyko uszkodzenia starszych motywów i wtyczek (ponieważ wiele z nich jest nadal używanych, ale nie jest już aktualizowanych). Dlatego też widzisz
jquery-migrate.js
w swoim kodzie źródłowym. Jest to skrypt, który przechwytuje stare funkcje używane przez wtyczki / motywy i upewnia się, że nadal działają w nowszych wersjach jQuery.Przejście do
3.x
rodziny jQuery spowodowałoby uszkodzenie wielu wtyczek / motywów, ponieważ nie można mieć skryptu migracji dla wszystkiego, co jest przestarzałe. Właśnie dlatego1.x
wciąż rozwijano nowe wersje rodziny, podczas gdy rodziny2.x
i3.x
już istniały. Nie będzie nowych1.x
i2.x
wersji po1.12
i2.2
, z wyjątkiem łatek (bezpieczeństwa). Chociaż jQuery1.12
nie jest obecnie nieaktualny, będzie w najbliższej przyszłości.WordPress jest w związku. Jeśli nie zaktualizuje się do wyższej wersji jQuery, nie będzie w stanie nadążyć za nowymi możliwościami. Jeśli jednak nastąpi aktualizacja, starsze witryny ulegną awarii. Najbardziej prawdopodobnym rezultatem jest to, że WP zaczeka kilka lat, więc starsze motywy / wtyczki i tak zostaną wycofane, a następnie przejdą do
3.x
rodziny .Wyjaśnienie
Powyższe może sugerować, że migracja z
1.x
wersji do3.x
nie jest w rzeczywistości możliwa. To nieprawda. To tylko trochę skomplikowane. Sztuczka polega na tym, aby najpierw uaktualnić1.12
, debugować wynik za pomocą starszego skryptu migracji, a następnie dodać3.0
skrypt migracji, który działa1.12
. Szczegółowe instrukcje tutaj .Aktualizacja bezpieczeństwa
Programiści zauważą, że Google Dev Tools / Lighthouse zgłasza witryny WordPress jako podatne na atak ze względu na obecność tej starszej wersji jQuery - a przynajmniej tak się wydaje. W efekcie wszystko, co robi Lighthouse, polega na sprawdzeniu, czy w bibliotece znajdują się luki wymienione w bazie danych luk Snyk . Jeśli sprawdzisz to szczegółowo, przekonasz się, że wersja 1.12.4 jest czysta. Biorąc pod uwagę szerokie zastosowanie 1.12.4, możesz liczyć na szybkie usunięcie poważnej luki w zabezpieczeniach.
źródło
źródło
Aby być jeszcze bardziej poprawnym.
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/
źródło