Trenutno stanje: PHP2Shell. Dvije kritične PHP ranjivosti (CVSS 9.2) omogućuju zlonamjerni kod bez prijave. Zakrpe od 21. 10. 2026.Što sada učiniti →

PHP frameworci ukratko

Frameworci PHP aplikacijama daju strukturu, usmjeravanje i sigurnosne sastavnice. Ovaj pregled prikazuje poznate frameworke, kriterije odabira i granice njihove zaštite.

Stanje 4 min čitanjaPHP znanje

Ukratko: PHP framework je temeljni okvir od ponovno upotrebljivog koda koji već rješava tipične zadatke web-aplikacije: usmjeravanje zahtjeva na pravi kod, obrada podataka iz obrazaca, pristup bazama podataka, stvaranje izlaza. Poznati PHP frameworci su Laravel, Symfony, Laminas, CodeIgniter, Yii, CakePHP i Slim. Framework donosi sigurnosne sastavnice, ali ne štiti od ranjivosti u PHP interpreteru poput PHP2Shella.

Što je PHP framework?

Bez frameworka svaki tim iznova piše usmjeravanje, provjeru obrazaca, sesije i obradu pogrešaka. Framework za to propisuje čvrste gradivne dijelove i konvencije. To štedi vrijeme, kod čini čitljivim novim razvijateljima i sigurnosne funkcije okuplja na jednom mjestu umjesto da ih raspršuje po stotinama datoteka.

Za upravu je ponajprije važna jedna posljedica: odabirom frameworka na godinama se vežete uz njegov ciklus izdanja. Ako framework više ne podržava neku PHP verziju ili se i sam više ne održava, svako ažuriranje postaje skuplje.

Većina modernih frameworka instalira se putem Composera i drži se standarda PHP-FIG-a, na primjer PSR-4 za autoloading ili PSR-7 za HTTP poruke.

Poznati PHP frameworci u usporedbi

Sljedeći pregled koristi samoopise projekata s njihovih početnih stranica. Ocjene prema popularnosti ili udjelu na tržištu svjesno izostavljamo jer za to nema pouzdanog zajedničkog izvora.

Framework Samoopis (po smislu) Tipična uporaba
Laravel framework „baterije uključene“ za web-aplikacije vlastiti razvoj, portali, SaaS
Symfony snažan framework s ponovno upotrebljivim komponentama velike, dugovječne aplikacije; komponente u drugim projektima
Laminas zajednički održavan nastavak Zend Frameworka poslovne aplikacije, middleware
CodeIgniter mali framework s jakim funkcijama manje aplikacije, niska ulazna prepreka
Yii framework za brz razvoj modernih aplikacija web-aplikacije, osnova pojedinih CMS-ova
CakePHP framework s jasnim MVC konvencijama klasične aplikacije nad bazama podataka
Slim mikro-framework za web-aplikacije i API-je vitki API-ji, middleware usluge

Symfony na svojoj početnoj stranici navodi Drupal, Laravel, API Platform i Composer kao projekte koji koriste Symfony komponente. Framework se dakle često nalazi i ondje gdje ga ne vidite izravno. Kako to izgleda kod CMS-ova i web-trgovina, pokazuje stranica CMS-ovi i shop sustavi na PHP-u.

Zajedničke sastavnice gotovo svih frameworka

Unatoč različitim filozofijama, većina frameworka dijeli sličnu građu. Svi zahtjevi prolaze kroz jednu ulaznu točku, front controller, najčešće public/index.php. Web-poslužitelj mu za to prosljeđuje svaku adresu za koju ne postoji prava datoteka.

# Primjer: Nginx nepoznate putanje usmjerava na front controller
root /var/www/app/public;

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

Kod Apachea taj zadatak najčešće preuzima pravilo prepisivanja u javnoj mapi, a kod drugih web-poslužitelja usporedivo pravilo. U svim je slučajevima važno da web-poslužitelj pokazuje na mapu public, a ne na glavni direktorij projekta. Pogrešno postavljen dokumentni direktorij jedan je od najčešćih uzroka zbog kojih konfiguracijske datoteke odjednom postanu javno dostupne.

Prednost za sigurnost: samo mapa public nalazi se u webrootu. Konfiguracija, izvorni kod i vendor leže jednu razinu iznad i nisu dostupni putem URL-a. Nakon toga router preuzima pridruživanje kontroleru, middleware provjerava prijavu ili CSRF token, a mehanizam predložaka stvara izlaz s automatskim escapeanjem.

Kako odabrati framework?

Za novi razvoj ili preuzimanje postojećeg projekta pomažu ova pitanja:

  1. Održavanje i ciklus izdanja: Koliko se dugo verzije opskrbljuju sigurnosnim ažuriranjima i postoje li verzije s produljenom podrškom?
  2. PHP podrška: Radi li korištena verzija frameworka na PHP verziji koja i sama još dobiva sigurnosna ažuriranja? To piše u zahtjevima projekta.
  3. Tim i pružatelj usluga: Poznaje li tim framework i možete li u hitnom slučaju za njega pronaći stručnjake?
  4. Ekosustav: Postoje li održavani paketi za Vaše zahtjeve ili bi se mnogo toga moralo izgraditi samostalno?
  5. Standardi: Ako se framework drži PSR sučelja, sastavnice se kasnije lakše zamjenjuju.

Za Laravel i Symfony projekte imamo zasebne stranice o osiguravanju: Osiguravanje Laravel aplikacija i Osiguravanje Symfony aplikacija.

Što framework za sigurnost postiže, a što ne

Frameworci razvijateljima oduzimaju mnoge izvore pogrešaka: pripremljeni upiti nad bazom protiv SQL injectiona, automatsko escapeanje protiv cross-site scriptinga, CSRF zaštita za obrasce, sigurni hashevi lozinki. No to funkcionira samo ako tim te sastavnice koristi, a ne zaobilazi.

Protiv PHP2Shella sve to ne pomaže. CVE-2026-109618 i CVE-2026-109619 leže u PHP interpreteru. PHP tim rizik kod mod_php-a ocjenjuje najvišim; tamo je pokazan exploit prije nego što se uopće izvrši kod aplikacije. Framework tako uopće ne dolazi do izražaja. Pomaže samo ažuriranje na PHP 8.5.12, 8.4.27, 8.3.36 ili 8.2.35 i ponovno pokretanje svih PHP procesa.

Važno

Ažuriranje frameworka i ažuriranje PHP-a dva su odvojena zadatka. Oba pripadaju u održavanje, ali samo ažuriranje PHP-a zatvara PHP2Shell.

Kod starijih projekata dolazi još jedan rizik: ako aplikacija visi na staroj verziji frameworka, često visi i na staroj verziji PHP-a. Za PHP 8.1 i starije PHP projekt više nema službenih ažuriranja.

Kako PHP SOS konkretno pomaže?

  • Utvrđujemo framework, verziju i PHP zahtjeve Vaše aplikacije te provjeravamo dobivaju li oboje još sigurnosna ažuriranja.
  • Provjeravamo građu: nalazi li se u webrootu samo public, jesu li konfiguracija i vendor zaštićeni?
  • Ažuriranja frameworka i PHP-a planiramo odvojeno, testiramo ih i instaliramo uz ponovno pokretanje svih workera.
  • Za vlastiti razvoj nudimo sigurnosni audit i penetracijski test koji ciljano provjerava korištenje zaštitnih funkcija frameworka.

Česta pitanja

Koji je PHP framework najbolji?

To ovisi o projektu. Odlučujući su veličina i vijek trajanja aplikacije, znanje u timu, održavanje projekta i podrška za aktualne PHP verzije. Dobro održavan framework poznat timu najčešće je bolji izbor od onog koji je trenutačno najpopularniji.

Štiti li framework od PHP2Shella?

Ne. PHP2Shell leži u PHP interpreteru, a prema PHP timu kod mod_php-a pokazan je exploit prije nego što se uopće izvrši kod aplikacije. Nikakvo ažuriranje frameworka ne zamjenjuje ažuriranje PHP izvršnog okruženja i ponovno pokretanje svih workera.

Što je mikro-framework?

Mikro-framework isporučuje samo jezgru, tipično usmjeravanje, middleware i objekte zahtjeva i odgovora. Pristup bazi podataka, predloške ili obrasce dodajete sami. Slim se, na primjer, sam opisuje kao mikro-framework za PHP.

Što znači kada CMS koristi Symfony komponente?

Koristi pojedine gradivne dijelove Symfonyja, na primjer za HTTP obradu ili konzolu, bez preuzimanja cijelog frameworka. Sigurnosne objave o tim komponentama tada se tiču i CMS-a, što je važno za planiranje ažuriranja.

Izvori

Hitni kontakt

Svaki sat se računa. Pišite nam odmah.

Ukratko opišite sustav, verziju PHP-a i opažanje. Javit ćemo Vam se, razjasniti situaciju i raditi na daljinu dok incident nije zaključen i dokumentiran.

Hitna pomoć