Aktualizácia Laravelu: prečo a ako na to bezpečne
Laravel je obľúbený PHP framework pre weby a aplikácie na mieru. Každá verzia má obmedzenú dobu podpory a po jej skončení prestanú vychádzať bezpečnostné opravy. Aplikácia na starej verzii funguje ďalej, no s rastúcim rizikom.
Ako dlho sú verzie podporované
Laravel vydáva hlavnú verziu približne raz ročne. Podľa jeho pravidiel dostáva každá verzia opravy chýb 18 mesiacov a bezpečnostné opravy 2 roky. Aktuálny prehľad verzií a dátumov nájdete v oficiálnej dokumentácii Laravelu.
Prečo neodkladať
- Bezpečnosť: po skončení podpory sa zraniteľnosti už neopravujú.
- PHP: staré verzie Laravelu nefungujú s novými verziami PHP, a staré PHP tiež stráca podporu, viac v článku Stará verzia PHP.
- Knižnice: nové verzie balíčkov vyžadujú novší Laravel.
- Náročnosť: čím viac verzií preskočíte, tým je aktualizácia väčšia a riskantnejšia.
Ako postupovať
- Inventúra: zistite verziu Laravelu, PHP a všetkých balíčkov a ich kompatibilitu.
- Testy: ak aplikácia nemá automatické testy, aspoň spíšte a otestujte kľúčové scenáre.
- Po jednej verzii: pri väčšom skoku prechádzajte verziu po verzii podľa oficiálneho návodu na aktualizáciu.
- Testovacie prostredie: všetko najprv na kópii aplikácie s rovnakým prostredím.
- Nasadenie: v čase najmenšej záťaže, so zálohou a pripraveným návratom.
- Kontrola: po nasadení sledujte logy a kľúčové funkcie.
Nástroje, ktoré pomáhajú
Composer ukáže zastarané a nekompatibilné balíčky, nástroj composer audit upozorní na balíčky so známymi zraniteľnosťami. Existujú aj nástroje, ktoré časť úprav kódu pri aktualizácii zautomatizujú, výsledok však treba vždy skontrolovať a otestovať.
Keď aplikáciu robil niekto iný
Pri staršej aplikácii bez dokumentácie začíname auditom, viac v článkoch Starý kód (legacy) a Prevzatie webu po inom programátorovi. Aktualizácie Laravelu a PHP robíme so zálohou, testami a bez výpadku.
