Röviden: A PHP egy nyílt forráskódú szkriptnyelv, amelyet elsősorban webalkalmazásokhoz használnak. A kód a szerveren fut, ott HTML-t állít elő, és csak az eredményt küldi el a böngészőnek. Mivel sok CMS, webshop és belső eszköz épül PHP-ra, a szerveren lévő PHP-verzió önálló biztonsági tényező, a CMS-frissítéstől függetlenül.
Mi a PHP? Meghatározás egyszerű szavakkal
A PHP-kézikönyv a PHP-t széles körben használt, nyílt forráskódú, általános célú szkriptnyelvként írja le, amely különösen alkalmas webfejlesztésre, és beágyazható a HTML-be. A név rekurzív betűszó, vagyis olyan rövidítés, amely önmagát tartalmazza: „PHP: Hypertext Preprocessor”.
A döntő különbség a böngészőben futó JavaScripthez képest: a PHP-kód a szerveren fut. A látogató csak a kész eredményt kapja, a forráskódot nem látja. Ezért a PHP alkalmas mindenre, aminek bizalmasnak kell maradnia, például adatbázis-hozzáférésre, bejelentkezésre vagy árszámításra.
A kézikönyv szerint a PHP-nek két fő felhasználási területe van: a weboldalak szerveroldali szkriptjei és a parancssori szkriptek, például a Cronnal ütemezett rendszeres feladatok. Mindkettő megtalálható szinte minden olyan vállalkozásban, amely saját weboldalt, webshopot vagy ügyfélportált működtet.
Hol található a PHP a vállalkozásában?
A PHP ritkán közvetlenül látható. Olyan szoftverekben található, amelyeket más néven ismer. Tipikus példák:
- Tartalomkezelő rendszerek (CMS), például a WordPress, a TYPO3, a Joomla, a Drupal vagy a Contao
- Webshoprendszerek, például a Shopware, a WooCommerce, a Magento vagy a PrestaShop
- Belső szolgáltatások, például a Nextcloud, a Moodle, a MediaWiki vagy a Matomo
- Egyedi fejlesztések olyan keretrendszerekre építve, mint a Laravel vagy a Symfony
- Eszközök és tárhelyvezérlő panelek webes felületei
Mindegyik alkalmazáshoz telepített PHP-futtatókörnyezet kell, vagyis az a program, amely a PHP-kódot végrehajtja. Ez a futtatókörnyezet önálló szoftver saját frissítésekkel. A WordPress vagy a Shopware frissítése nem frissíti a PHP-t. Ezért ki mit üzemeltet, azt egy leltárba kell foglalni, ahogy azt Minden weboldal és szerver leltára című cikk leírja.
Hogyan néz ki a PHP-kód?
A PHP-kód a <?php és a ?> jelölők között áll. Ami ezeken kívül van, azt változtatás nélkül HTML-ként adja ki a rendszer. Egy kis, ártalmatlan példa:
<?php
$stunde = (int) date('G');
$gruss = $stunde < 12 ? 'Guten Morgen' : 'Guten Tag';
?>
<!DOCTYPE html>
<html lang="de">
<body>
<p><?= htmlspecialchars($gruss) ?>, heute ist der <?= date('d.m.Y') ?>.</p>
</body>
</html>
A szerver végrehajtja a PHP-részt, és a böngészőnek csak kész HTML-t küld, például: „Guten Tag, heute ist der 25.10.2026”. A htmlspecialchars() függvény átalakítja a speciális karaktereket, és így véd a beinjektált HTML ellen. Az ilyen beépített védelmi függvények az egyik oka annak, hogy a szakszerűen megírt PHP-kód biztonságos lehet.
Miből áll egy PHP-környezet?
Egy PHP-weboldal nem csak az alkalmazás kódjából áll. Több réteg dolgozik együtt, és mindegyik saját karbantartást igényel:
| Építőelem | Feladat | Ki frissíti jellemzően? |
|---|---|---|
| Webszerver (Apache, Nginx, LiteSpeed) | fogadja a hálózatról érkező kéréseket | tárhelyszolgáltató vagy szerveradminisztrátor |
| PHP-futtatókörnyezet (értelmező) | végrehajtja a PHP-kódot | tárhelyszolgáltató, szerveradminisztrátor, csomagforrás |
| Bővítmények | adatbázis-illesztők, képfeldolgozás, titkosítás | a PHP-futtatókörnyezettel együtt |
Konfiguráció (php.ini) |
korlátok, hibakimenet, munkamenetek | szerveradminisztrátor |
| Alkalmazás (CMS, webshop) | tartalom és üzleti logika | ügynökség vagy saját csapat |
| Bővítmények és programkönyvtárak | kiegészítő funkciók | ügynökség vagy saját csapat |
A webszerver és a PHP közötti kapcsolatot SAPI-nak (Server Application Programming Interface) nevezik. Hogy a PHP Apache-modulként, PHP-FPM-en keresztül vagy CGI-ként fut-e, az hatással van az üzemeltetésre és a biztonságra. Erről bővebben a A SAPI elmagyarázva oldalon és a Hogyan állít elő a PHP weboldalt cikkben olvashat.
Miért számít a PHP-verzió a biztonság szempontjából?
Minden PHP-verziót csak korlátozott ideig gondoznak. A php.net szerint minden verzióág két évig kap aktív támogatást, utána még két évig csak biztonsági javításokat. Ezt követően az ág elérte életciklusa végét, és hivatalos frissítéseket már nem kap. A részletek a PHP-verziók és kiadási ciklus oldalon találhatók.
Hogy ez mennyire fontos, azt a PHP2Shell mutatja. 2026 októberében két kritikus rés vált ismertté magában a PHP-ban, a CVE-2026-109618 és a CVE-2026-109619, mindkettő CVSS v4.0 szerint 9,2 pontos. Bejelentkezés nélkül, távolról lehetővé teszik kártékony kód végrehajtását. A PHP 8.5.12, 8.4.27, 8.3.36 és 8.2.35 verzióban javították őket. A PHP 8.1 és régebbi verzióihoz már nincs hivatalos frissítés.
Döntéshozók számára ebből három szempont adódik:
- A CMS-frissítés nem zár be egy PHP-ban lévő rést. A kettőt külön kell frissíteni.
- A PHP frissítése után az összes PHP-folyamatot újra kell indítani, különben a régi kód tovább fut a memóriában.
- Egy javítás nem bizonyítja, hogy korábban semmi sem történt. Védelem nélküli szervereknél a nyomok vizsgálata is a feladat része.
Írásban tisztázza, hogy Önnél ki felel a PHP-futtatókörnyezetért: a tárhelyszolgáltató, az ügynökség vagy a saját IT. A PHP2Shell esetében kiderült, hogy ez a kérdés sok vállalkozásnál nyitva maradt.
Hogy pontosan mi a rés, és kiket érint, azt a Mi a PHP2Shell? oldal magyarázza el.
Hogyan segít konkrétan a PHP SOS?
- Állomány felmérése: Megállapítjuk, hogy az Ön rendszerei közül melyek használnak PHP-t, milyen verzióban és milyen üzemmódban.
- Felelősségek tisztázása: Megmutatjuk, mely részeket gondozza a tárhelyszolgáltatója, és melyek vannak Önnél vagy az ügynökségénél.
- Frissítés: A PHP-javítási szolgáltatás keretében telepítjük a frissítéseket, újraindítjuk az összes folyamatot, és dokumentáljuk az állapotot.
- Utólagos ellenőrzés: Ahol egy szerver védelem nélkül volt elérhető, megvizsgáljuk, vannak-e a feltörés nyomai.
Gyakori kérdések
A PHP programozási nyelv, vagy csak szkriptnyelv?
Mindkettő igaz. A PHP teljes értékű, általános célú programozási nyelv függvényekkel, osztályokkal és típusokkal. Azért nevezik szkriptnyelvnek, mert a forráskódot nem előre fordítják le futtatható fájllá, hanem a PHP-értelmező futásidőben dolgozza fel.
Látják a weboldalam látogatói a PHP-kódot?
Nem. A PHP a szerveren fut, a böngésző csak az eredményt kapja, többnyire HTML-t. Kivételt a hibás konfiguráció okozhat, például ha a webszerver a PHP-fájlokat szövegként szolgáltatja ki, vagy ha az olyan biztonsági másolatok, mint az index.php.bak, nyilvánosan elérhetők.
Honnan tudom, hogy a weboldalam PHP-n fut?
A legelterjedtebb CMS- és webshoprendszerek, például a WordPress, a TYPO3, a Shopware, a Joomla vagy a Nextcloud PHP-ban íródtak. Biztosan a tárhelyszolgáltatónál, az ügynökségnél vagy a szerverkonfigurációba pillantva lehet tisztázni.
Ügyvezetőként értenem kell a PHP-t?
Részletekbe menően nem. Azt fontos tudni, hogy a PHP önálló szoftver saját frissítésekkel, a CMS-től függetlenül. Írásban tisztázni kell, hogy ki felel a szervereken lévő PHP-verzióért.