Stručne: PHP je open source skriptovací jazyk, ktorý sa používa predovšetkým na webové aplikácie. Kód beží na serveri, vytvorí tam HTML a prehliadaču pošle iba výsledok. Keďže na PHP stavia množstvo CMS, obchodov a interných nástrojov, je verzia PHP na serveri samostatným bezpečnostným faktorom, nezávislým od aktualizácie CMS.
Čo je PHP? Definícia jednoduchými slovami
Príručka PHP opisuje PHP ako rozšírený open source skriptovací jazyk na všeobecné použitie, ktorý je vhodný najmä na vývoj webu a dá sa vkladať do HTML. Názov je rekurzívna skratka, teda skratka, ktorá obsahuje samu seba: „PHP: Hypertext Preprocessor“.
Rozhodujúci rozdiel oproti JavaScriptu v prehliadači: kód PHP sa vykonáva na serveri. Návštevník dostane len hotový výsledok a zdrojový kód nevidí. Vďaka tomu je PHP vhodné na všetko, čo musí zostať dôverné, napríklad prístupy do databázy, prihlasovanie alebo výpočty cien.
Podľa príručky má PHP dve hlavné oblasti použitia: skripty na strane servera pre weby a skripty v príkazovom riadku, napríklad pravidelné úlohy cez Cron. Obe nájdete takmer v každej firme, ktorá prevádzkuje vlastný web, obchod alebo zákaznícky portál.
Kde sa PHP skrýva vo vašej firme?
PHP je len zriedka priamo viditeľné. Skrýva sa v softvéri, ktorý poznáte pod iným názvom. Typické príklady:
- Systémy na správu obsahu ako WordPress, TYPO3, Joomla, Drupal alebo Contao
- Obchodné systémy ako Shopware, WooCommerce, Magento alebo PrestaShop
- Interné služby ako Nextcloud, Moodle, MediaWiki alebo Matomo
- Vlastné vývoje na základe frameworkov ako Laravel alebo Symfony
- Webové rozhrania zariadení a hostingových panelov
Každá z týchto aplikácií potrebuje nainštalované prostredie PHP, teda program, ktorý kód PHP vykonáva. Toto prostredie je samostatný softvér s vlastnými aktualizáciami. Aktualizácia WordPressu alebo Shopwaru PHP neaktualizuje. Kto prevádzkuje ktoré systémy, preto patrí do inventára, ako ho opisuje príspevok Inventár všetkých webov a serverov.
Ako vyzerá kód PHP?
Kód PHP stojí medzi značkami <?php a ?>. Všetko mimo nich sa vypíše nezmenené ako HTML. Malý, neškodný príklad:
<?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>
Server vykoná časť v PHP a prehliadaču pošle iba hotový HTML, napríklad „Guten Tag, heute ist der 25.10.2026“. Funkcia htmlspecialchars() prevádza špeciálne znaky a chráni tak pred votknutým HTML. Takéto zabudované ochranné funkcie sú jedným z dôvodov, prečo môže byť čisto napísaný kód PHP bezpečný.
Z akých súčastí sa skladá prostredie PHP?
Web v PHP nepozostáva len z kódu aplikácie. Spolupracuje niekoľko vrstiev a každá vyžaduje vlastnú údržbu:
| Súčasť | Úloha | Kto ju zvyčajne aktualizuje? |
|---|---|---|
| Webový server (Apache, Nginx, LiteSpeed) | prijíma požiadavky zo siete | poskytovateľ hostingu alebo správca servera |
| Prostredie PHP (interpreter) | vykonáva kód PHP | poskytovateľ hostingu, správca servera, zdroj balíkov |
| Rozšírenia | ovládače databáz, spracovanie obrázkov, šifrovanie | spolu s prostredím PHP |
Konfigurácia (php.ini) |
limity, výpis chýb, relácie | správca servera |
| Aplikácia (CMS, obchod) | obsah a obchodná logika | agentúra alebo vlastný tím |
| Zásuvné moduly a knižnice | doplnkové funkcie | agentúra alebo vlastný tím |
Spojenie medzi webovým serverom a PHP sa nazýva SAPI (Server Application Programming Interface). To, či PHP beží ako modul Apache, cez PHP-FPM alebo ako CGI, má dôsledky pre prevádzku a bezpečnosť. Viac nájdete v časti SAPI vysvetlené a v príspevku Ako PHP vytvára webovú stránku.
Prečo je verzia PHP dôležitá pre bezpečnosť
Každá verzia PHP sa udržiava len obmedzený čas. Podľa php.net má každá vetva verzií dva roky aktívnej podpory a potom ďalšie dva roky už len bezpečnostné opravy. Potom je vetva na konci životnosti a nedostáva už žiadne oficiálne aktualizácie. Podrobnosti sú v časti Verzie PHP a cyklus vydávania.
Ako veľmi na tom záleží, ukazuje PHP2Shell. V októbri 2026 sa zverejnili dve kritické zraniteľnosti v samotnom PHP, CVE-2026-109618 a CVE-2026-109619, obe s CVSS v4.0 9,2. Umožňujú spustenie škodlivého kódu na diaľku bez prihlásenia. Opravené sú v PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Pre PHP 8.1 a staršie už oficiálne aktualizácie neexistujú.
Pre rozhodovateľov z toho vyplývajú tri body:
- Aktualizácia CMS nezatvorí zraniteľnosť v PHP. Obe sa musia aktualizovať osobitne.
- Po aktualizácii PHP sa musia reštartovať všetky procesy PHP, inak v pamäti ďalej beží starý kód.
- Záplata nedokazuje, že sa predtým nič nestalo. Pri nechránených serveroch patrí k veci aj kontrola stôp po útoku.
Písomne si ujasnite, kto vo vašej firme zodpovedá za prostredie PHP: poskytovateľ hostingu, agentúra alebo vlastné IT. Pri PHP2Shell sa ukázalo, že táto otázka bola v mnohých firmách nevyjasnená.
Čo presne je zraniteľnosť a koho sa týka, vysvetľuje stránka Čo je PHP2Shell?.
Ako konkrétne pomáha PHP SOS?
- Zmapovať stav: Zisťujeme, ktoré z vašich systémov používajú PHP, v akej verzii a v akom režime prevádzky.
- Vyjasniť zodpovednosť: Ukážeme, ktoré časti udržiava váš poskytovateľ hostingu a ktoré spadajú pod vás alebo vašu agentúru.
- Aktualizovať: Cez službu záplatovania PHP nasadzujeme aktualizácie, reštartujeme všetky procesy a dokumentujeme stav.
- Overiť: Tam, kde bol server dostupný bez ochrany, kontrolujeme stopy po prieniku.
Časté otázky
Je PHP programovací jazyk, alebo iba skriptovací jazyk?
Platí oboje. PHP je plnohodnotný programovací jazyk na všeobecné použitie s funkciami, triedami a typmi. Skriptovacím jazykom sa nazýva preto, že zdrojový kód sa vopred neprekladá do spustiteľného súboru, ale za behu ho spracúva interpreter PHP.
Vidia návštevníci môjho webu kód PHP?
Nie. PHP beží na serveri a prehliadač dostane iba výsledok, zvyčajne HTML. Výnimky vznikajú pri chybnej konfigurácii, napríklad keď webový server odovzdáva súbory PHP ako text alebo keď sú verejne dostupné záložné kópie ako index.php.bak.
Ako poznám, že môj web beží na PHP?
Väčšina rozšírených CMS a obchodných systémov ako WordPress, TYPO3, Shopware, Joomla alebo Nextcloud je napísaná v PHP. Spoľahlivo to zistíte u poskytovateľa hostingu, v agentúre alebo nahliadnutím do konfigurácie servera.
Musím ako konateľ rozumieť PHP?
Nie do detailov. Dôležité je vedieť, že PHP je samostatný softvér s vlastnými aktualizáciami, oddelený od CMS. Malo by byť písomne dohodnuté, kto zodpovedá za verziu PHP na vašich serveroch.