Aktuálna situácia: PHP2Shell. Dve kritické zraniteľnosti PHP (CVSS 9.2) umožňujú spustenie škodlivého kódu bez prihlásenia. Záplaty od 21. 10. 2026.Čo treba urobiť teraz →

Frameworky PHP v prehľade

Frameworky dávajú aplikáciám PHP štruktúru, smerovanie a bezpečnostné prvky. Tento prehľad ukazuje známe frameworky, kritériá výberu a hranice ich ochrany.

Stav 4 min čítaniaZnalosti o PHP

Stručne: Framework PHP je základná kostra z opakovane použiteľného kódu, ktorá už rieši typické úlohy webovej aplikácie: presmerovať požiadavky na správny kód, spracovať údaje z formulárov, oslovovať databázy, vytvárať výstupy. Známe frameworky PHP sú Laravel, Symfony, Laminas, CodeIgniter, Yii, CakePHP a Slim. Framework prináša bezpečnostné prvky, ale nechráni pred zraniteľnosťami v interpretere PHP ako PHP2Shell.

Čo je framework PHP?

Bez frameworku píše každý tím smerovanie, kontrolu formulárov, relácie a spracovanie chýb znova. Framework na to predpisuje pevné stavebné prvky a konvencie. To šetrí čas, robí kód čitateľným pre nových vývojárov a sústreďuje bezpečnostné funkcie na jednom mieste, namiesto rozptýlenia cez stovky súborov.

Pre vedenie firmy je dôležitý predovšetkým jeden dôsledok: voľbou frameworku sa na roky viažete na jeho cyklus vydávania. Ak framework prestane podporovať nejakú verziu PHP alebo sa sám prestane udržiavať, každá aktualizácia sa predražuje.

Väčšina moderných frameworkov sa inštaluje cez Composer a drží sa štandardov PHP-FIG, napríklad PSR-4 pre autoloading alebo PSR-7 pre správy HTTP.

Známe frameworky PHP v porovnaní

Nasledujúci prehľad využíva vlastné opisy projektov na ich úvodných stránkach. Hodnotenia podľa obľúbenosti alebo trhového podielu zámerne vynechávame, pretože pre ne neexistuje spoľahlivý spoločný zdroj.

Framework Vlastný opis (zhruba) Typické použitie
Laravel framework s „batériami v cene“ pre webové aplikácie vlastné vývoje, portály, SaaS
Symfony výkonný framework s opakovane použiteľnými komponentmi veľké, dlhoživé aplikácie; komponenty v iných projektoch
Laminas komunitne udržiavané pokračovanie Zend Framework podnikové aplikácie, middleware
CodeIgniter malý framework so silnými funkciami menšie aplikácie, nízka vstupná bariéra
Yii framework na rýchly vývoj moderných aplikácií webové aplikácie, základ jednotlivých CMS
CakePHP framework s jasnými konvenciami MVC klasické databázové aplikácie
Slim mikroframework pre webové aplikácie a API štíhle API, služby middleware

Symfony uvádza na svojej úvodnej stránke Drupal, Laravel, API Platform a Composer ako projekty, ktoré používajú komponenty Symfony. Framework sa teda často skrýva aj tam, kde ho priamo nevidíte. Ako to vyzerá pri CMS a obchodoch, ukazuje stránka CMS a obchodné systémy na PHP.

Spoločné stavebné prvky takmer všetkých frameworkov

Napriek rôznej filozofii má väčšina frameworkov podobnú stavbu. Všetky požiadavky idú cez jediný vstupný bod, front controller, väčšinou public/index.php. Webový server na tento súbor odovzdáva každú adresu, pre ktorú neexistuje skutočný súbor.

# Príklad: Nginx presmeruje neznáme cesty na front controller
root /var/www/app/public;

location / {
    try_files $uri /index.php$is_args$args;
}

Pri Apache túto úlohu zvyčajne preberá prepisovacie pravidlo vo verejnom priečinku, pri iných webových serveroch porovnateľné pravidlo. Vo všetkých prípadoch je dôležité, aby webový server ukazoval na priečinok public a nie na hlavný adresár projektu. Nesprávne nastavený dokumentový adresár patrí k najčastejším príčinám toho, že konfiguračné súbory sú zrazu verejne dostupné.

Výhoda pre bezpečnosť: iba priečinok public leží vo webroote. Konfigurácia, zdrojový kód a vendor ležia o úroveň vyššie a cez URL nie sú dostupné. Potom prevezme priradenie ku kontroléru smerovač, middleware overí prihlásenie alebo token CSRF a šablónovací systém vytvorí výstup s automatickým maskovaním.

Ako vybrať framework?

Pri novom vývoji alebo prevzatí existujúceho projektu pomáhajú tieto otázky:

  1. Údržba a cyklus vydávania: Ako dlho sa verzie zásobujú bezpečnostnými aktualizáciami a existujú verzie s predĺženou podporou?
  2. Podpora PHP: Beží nasadená verzia frameworku na verzii PHP, ktorá sama ešte dostáva bezpečnostné aktualizácie? To je uvedené v požiadavkách projektu.
  3. Tím a dodávatelia: Pozná tím framework a nájdete na núdzový prípad odborníkov?
  4. Ekosystém: Existujú udržiavané balíky pre vaše požiadavky, alebo by sa muselo veľa vyvíjať samostatne?
  5. Štandardy: Ak sa framework drží rozhraní PSR, dajú sa stavebné prvky neskôr jednoduchšie vymeniť.

Pre projekty v Laravel a Symfony máme samostatné stránky o zabezpečení: Zabezpečenie aplikácií Laravel a Zabezpečenie aplikácií Symfony.

Čo framework pre bezpečnosť dokáže a čo nie

Frameworky odbremeňujú vývojárov od mnohých zdrojov chýb: pripravené databázové dopyty proti SQL injection, automatické maskovanie proti Cross-Site-Scripting, ochrana CSRF pre formuláre, bezpečné hashe hesiel. Funguje to však len vtedy, ak tím tieto prvky používa a neobchádza ich.

Proti PHP2Shell to všetko nepomáha. CVE-2026-109618 a CVE-2026-109619 ležia v interpretere PHP. Tím PHP hodnotí riziko pri mod_php ako najvyššie; tam bol exploit predvedený ešte predtým, než vôbec beží kód aplikácie. Framework tak vôbec nepríde na rad. Pomôže len aktualizácia na PHP 8.5.12, 8.4.27, 8.3.36 alebo 8.2.35 a reštart všetkých procesov PHP.

Dôležité

Aktualizácia frameworku a aktualizácia PHP sú dve oddelené úlohy. Obe patria do údržby, ale iba aktualizácia PHP zatvára PHP2Shell.

Pri starších projektoch pristupuje ďalšie riziko: ak aplikácia visí na starej verzii frameworku, často visí aj na starej verzii PHP. Pre PHP 8.1 a staršie už od projektu PHP neexistujú oficiálne aktualizácie.

Ako konkrétne pomáha PHP SOS?

  • Zisťujeme framework, verziu a požiadavky PHP vašej aplikácie a overujeme, či obe ešte dostávajú bezpečnostné aktualizácie.
  • Kontrolujeme stavbu: leží vo webroote iba public, sú konfigurácia a vendor chránené?
  • Aktualizácie frameworku a PHP plánujeme oddelene, testujeme ich a nasadzujeme s reštartom všetkých workerov.
  • Pre vlastné vývoje ponúkame bezpečnostný audit a penetračný test, ktorý cielene kontroluje využívanie ochranných funkcií frameworku.

Časté otázky

Ktorý framework PHP je najlepší?

Závisí to od projektu. Rozhodujúce sú veľkosť a životnosť aplikácie, know-how v tíme, údržba zo strany projektu a podpora aktuálnych verzií PHP. Dobre udržiavaný framework, ktorý tím pozná, je zvyčajne lepšou voľbou než ten, ktorý je práve najobľúbenejší.

Chráni framework pred PHP2Shell?

Nie. PHP2Shell leží v interpretere PHP a podľa tímu PHP bol pri mod_php predvedený exploit ešte predtým, než vôbec beží kód aplikácie. Žiadna aktualizácia frameworku nenahrádza aktualizáciu prostredia PHP a reštart všetkých workerov.

Čo je mikroframework?

Mikroframework dodáva iba jadro, typicky smerovanie, middleware a objekty požiadavky a odpovede. Prístup k databáze, šablóny alebo formuláre si pridávate sami. Slim sa napríklad sám označuje ako mikroframework pre PHP.

Čo znamená, keď CMS používa komponenty Symfony?

Používa jednotlivé stavebné prvky Symfony, napríklad na spracovanie HTTP alebo konzolu, bez prevzatia celého frameworku. Bezpečnostné hlásenia k týmto komponentom sa potom týkajú aj CMS, čo je dôležité pri plánovaní aktualizácií.

Zdroje

Okamžitý kontakt

Každá hodina sa počíta. Napíšte nám hneď.

Stručne opíšte systém, verziu PHP a svoje pozorovanie. Ozveme sa, vyjasníme situáciu a budeme pracovať na diaľku, kým nebude incident uzavretý a zdokumentovaný.

Okamžitá pomoc