Kategóriák
Biztonság

Egy fejezet vége, avagy miért nem ajánlott a PHP régi verzióit használni

Minden évben megszűnik a PHP aktuálisan legrégebbi verziójának hivatalos támogatása. Cikkünkben megtudhatsz néhány hasznos információt annak kapcsán, hogy miért érdemes a PHP újabb verziójára frissítened oldaladat, és egy rövid leírást is olvashatsz a frissítés folyamatáról. 

A PHP életciklusa

A PHP a legszélesebb körben használt nyílt forráskódú programozási nyelv a weben használt népszerű CMS-rendszerekben, mint a Word Press/Woocommerce, Joomla, Drupal és az Opencart. A W3Techs felmérése szerint a weboldalak mintegy 76%-a PHP-t használ. Emellett a legtöbb megosztott tárhelyen ez az egyetlen elérhető lehetőség, egyelőre nálunk, a Websupportnál is. Cikkünk alapján a PHP-re úgy gondolhatsz, mint a szoftverkörnyezetre, amelynek segítségével egy webhely működni képes, például a WordPress tartalomkezelő rendszere teljes egészében PHP nyelven íródott.

Mint minden szoftvernek, a PHP-nek is van egy életciklusa. Időnként újabb verziók jelennek meg, amelyekben a fejlesztők új funkciókat adnak hozzá, és egyben kijavítják a korábbi verziók hibáit és hiányosságait. Körülbelül évente jelennek meg új verziók, az egyes verziók támogatottsága pedig általában 2-3 évig tart. A probléma az, hogy a legtöbb weboldal a PHP régi verzióinak egyikén fut, és ezek már több éve nem kapnak hivatalos támogatást.

Kitekintés a világszerte használt PHP verziókra 
A wordpress.org statisztikáit megnézve megtudhatjuk, hogy globálisan milyen PHP verziókat használnak a weboldalak, tájékozódhatunk a PHP verziók használatának globális tendenciáiról. A statisztikákból kiderül, hogy az összes WordPress oldalnak csak körülbelül 30%-a használja a PHP hivatalosan támogatott verzióját. Majdnem 17% a hamarosan nem támogatott PHP 8.1-et használja, a maradék 53% pedig még mindig a PHP 8.0-t vagy korábbi változatot. Erre a kedvezőtlen helyzetre már korábban is felhívták a figyelmet, például a népszerű Yoast SEO plugin készítői.

Hasonló helyzetet figyelünk meg mi is saját felméréseink alapján. A 2024 tavaszi statisztikánk talán meglepő lehet, de azt láthatjuk, hogy felhasználóink körülbelül 75%-a a PHP 5.2-8.0-ás elavult verzióinak valamelyikét használta a tárhelyén. Az év végére még csatlakozni fog hozzájuk egy újabb felhasználói csoport, akik a PHP 8.1-es verzióját használják. A PHP 5.6-as verziójának hivatalos támogatása 2018 decemberében szűnt meg.

Ez az arány egyáltalán nem optimális, ezért úgy döntöttünk, ezen javítani kell, és a lehető legtöbb webhelyet és felhasználót át kell állítani az újabb verziókra – és ezt az összes országban, ahol működünk! 

Miért használják ilyen sokan a PHP régi verzióit?

Felmérések alapján a következők a leggyakoribb okok, amiért a felhasználóink inkább a PHP régi verzióit használják az újabb és biztonságosabb frissítések helyett:

  • A weboldalak tulajdonosai vagy nem is tudnak róla, vagy csak nem foglalkoznak vele, hogy weboldaluk PHP verziója elavult. Sok esetben ez teljesen elfogadható, hiszen a felhasználók elvárják, hogy a fejlesztőik vagy a tárhelyszolgáltató foglalkozzon az ilyen dolgokkal. Először is ez az oka annak, hogy a PHP 5.6 van a legnagyobb arányban jelen a tárhelyeken – sokáig ezt a verziót kínáltuk alapértelmezettként, és ezután a felhasználók soha nem változtattak rajta.
  • A kompatibilitás biztosítása a fejlesztői/fenntartói oldalról időbe telik a tartalomkezelő rendszerek, bővítmények frissítése és az azt követő tesztelés. Ha évekkel ezelőtt készült egy webhely, és a tulajdonos vagy fejlesztő nem foglalkozott ezzel tovább, a PHP újabb verzióira való frissítés nem feltétlenül triviális vagy olcsó. Ez kevésbé jelent problémát a modern nyílt forráskódú rendszerek esetében, amelyeket a legtöbb esetben „csak” frissíteni kell. A fenti grafikonok azonban azt mutatják, hogy még ez sem elég.
  • A legtöbb tárhelyszolgáltató cég már régóta kerülgeti ezt a témát, beleértve minket is. Ennek az oka egyszerű – kompatibilitási problémák esetén egy kényszerű, a tárhelyszolgáltató által végrehajtott frissítés webhelyek ezreinek működésképtelenségét okozhatja, ezt pedig sem a tárhelyszolgáltatók, sem a weboldaltulajdonosok sem akarják.

A régi PHP-verziók használatának kockázatai és hátrányai

A felhasználó szempontjából is szembetűnő a PHP régi verziónak a fejletlensége, különösen a biztonság és a teljesítmény tekintetében figyelhetőek meg hatalmas különbségek az új verziókhoz képest.

  • Gyenge biztonság
    • A legerősebb érv a PHP frissítése mellett a weboldalunk biztonsága. Az PHP verziók fejlesztése során javító frissítéseket adnak ki az azonosított hibák kijavítására, így az újabb verziók mindig biztonságosabbak. Ezekről áttekintést kaphatsz például a CVE Details weboldalon. Az alábbi ábrán látható az egyes években felfedezett kritikus hibák száma.
  • Gyenge teljesítmény
    • A PHP minden egyes új verziójával a weboldal teljesítménye is jelentősen javul. Minél újabb PHP verziót használ a felhasználó, annál gyorsabban töltődik be a tartalom. Összehasonlítottuk a WordPress legújabb működő verzióját (standard telepítés) különböző PHP verziókon. Mint látható, a PHP 8.3 több mint kétszer annyi kérést képes feldolgozni másodpercenként, mint a PHP 5.6. Nagyjából ugyanezt a statisztikát figyelhetjük meg más tartalomkezelő rendszerek, például a Joomla, a Drupal és az OpenCart esetében is. Tehát számos biztonsági előny mellett weboldalad sokkal jobban teljesítene, ha azt a PHP legújabb verziójárq frissítenéd.

A nem támogatott PHP verziók megszüntetésének ütemezése

Több éves kiegészítő támogatás után azt tervezzük, hogy 2024-ben végleg leállítjuk a kiválasztott, elavult PHP-verziókat.

Egyelőre az 5.6, 7.4, 8.1-8.3-as PHP verziókat tartjuk meg. Ha más verziót használsz, webhelyedet a sorrendben következő PHP-verzióra helyezzük át. 

PHP 5.3 – átkerül a PHP 5.6-ra,

PHP 7.x – átkerül a PHP 7.4-re,

PHP 8.0 – átkerül a PHP 8.2/8.3-ra.

Ezeket a verziókat továbbra is használhatónak tartjuk, és a kritikus hiányosságokat saját költségünkön javítjuk, hosszú távon azonban nem ajánljuk, és a jövőben valószínűleg plusz költségekkel fog járni a használatuk.

Ügyfeleinket az őket érintő változásokról folyamatosan tájékoztatni fogjuk.

Teszteld weboldalad kompatibilitását!

Annak érdekében, hogy a PHP újabb verzióira való átállás gördülékenyen menjen, létrehoztunk egy eszközt, amellyel tesztelhetedi webhelyed PHP kompatibilitását. Ezzel az eszközzel biztonságosan tesztelheted weboldalad működését a PHP újabb verzióin, kizárólag a böngésződben anélkül, hogy ez a termikus webhelyet befolyásolná. Ha pedig minden úgy működik, ahogyan kell, azonnal frissítheted a PHP-t, és nem marad az utolsó pillanatra. Például a PHP 5.5-ről a PHP 5.6-ra történő azonnali áttérés nem jelenthet gondot, és tapasztalataink szerint azonnal elvégezhető. Ugyanez igaz a PHP 8.0-ról 8.2-re történő átállás esetében is.

Hogyan frissítsük a PHP-t a tárhelyünkön

Ha ügyfelünk vagy, akkor a PHP verziódat bármikor megváltoztathatod közvetlenül a Webadminon keresztül, a Web >Szolgáltatások>PHP beállítások menüpontban. Ebben a bemutatóban információt találsz arról, hogyan tesztelheted és frissítheted weboldalad PHP verzióját egy újabbra.

Ennek hasonlóan kell működnie más szolgáltatók esetében is.

Ha webhelyed nem működik miután beállítottál egy újabb PHP-verziót, akkor módosítanod kell a kódot. A PHP.net bemutatója ismerteti a vonatkozó kód frissítésének módját.

Ha WordPress-t használsz, a frissítésre vonatkozó utasításokat a tudásbázisunkban is megtalálhatod. Más tartalomkezelő rendszerek esetében a hivatalos dokumentációt ajánljuk:

Ha olyan tárhelyet használsz, amely nem teszi lehetővé a frissítést a jelenleg támogatott PHP-verziók egyikére, javasoljuk, hogy nézz körül új tárhely után. Szívesen ajánlunk többet, és jutalmazzuk, ha a konkurenciától váltasz.

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük