Na kratko: PHP je odprtokodni skriptni jezik, ki se uporablja predvsem za spletne aplikacije. Koda teče na strežniku, tam ustvari HTML in brskalniku pošlje samo rezultat. Ker številni CMS-ji, spletne trgovine in interna orodja temeljijo na PHP, je različica PHP na strežniku samostojen varnostni dejavnik, neodvisen od posodobitve CMS-ja.
Kaj je PHP? Opredelitev v preprostih besedah
Priročnik PHP opisuje PHP kot razširjen, odprtokodni skriptni jezik splošne rabe, ki je posebej primeren za razvoj spletnih strani in ga je mogoče vdelati v HTML. Ime je rekurzivna kratica, torej okrajšava, ki vsebuje samo sebe: „PHP: Hypertext Preprocessor“.
Odločilna razlika v primerjavi z JavaScriptom v brskalniku: kodo PHP izvede strežnik. Obiskovalec prejme samo končni rezultat in izvorne kode ne vidi. Zato je PHP primeren za vse, kar mora ostati zaupno, na primer dostope do podatkovne zbirke, prijave ali izračune cen.
Po priročniku ima PHP dve glavni področji uporabe: skripte na strani strežnika za spletne strani in skripte v ukazni vrstici, na primer za redna opravila prek crona. Oboje najdemo v skoraj vsakem podjetju, ki upravlja lastno spletno stran, spletno trgovino ali portal za stranke.
Kje v vašem podjetju se skriva PHP?
PHP je le redko neposredno viden. Skriva se v programski opremi, ki jo poznate pod drugim imenom. Značilni primeri:
- Sistemi za upravljanje vsebin (CMS), kot so WordPress, TYPO3, Joomla, Drupal ali Contao
- Sistemi za spletne trgovine, kot so Shopware, WooCommerce, Magento ali PrestaShop
- Interne storitve, kot so Nextcloud, Moodle, MediaWiki ali Matomo
- Lastni razvoj na podlagi ogrodij, kot sta Laravel ali Symfony
- Spletni vmesniki naprav in panelov za gostovanje
Vsaka od teh aplikacij potrebuje nameščeno izvajalno okolje PHP, torej program, ki kodo PHP izvaja. To okolje je samostojna programska oprema z lastnimi posodobitvami. Posodobitev WordPressa ali Shopwara PHP ne posodobi. Kdo upravlja katere sisteme, zato sodi v popis, kot ga opisuje prispevek Popis vseh spletnih strani in strežnikov.
Kako izgleda koda PHP?
Koda PHP stoji med oznakama <?php in ?>. Vse zunaj njiju se brez sprememb izpiše kot HTML. Majhen, neškodljiv primer:
<?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>
Strežnik izvede del PHP in brskalniku pošlje samo končni HTML, na primer „Dober dan, danes je 25. 10. 2026“. Funkcija htmlspecialchars() pretvori posebne znake in tako ščiti pred vnesenim HTML. Takšne vgrajene zaščitne funkcije so eden od razlogov, zakaj je lahko čisto napisana koda PHP varna.
Iz katerih gradnikov je sestavljeno okolje PHP?
Spletna stran v PHP ni samo koda aplikacije. Sodeluje več plasti in vsaka potrebuje lastno vzdrževanje:
| Gradnik | Naloga | Kdo ga običajno posodablja? |
|---|---|---|
| Spletni strežnik (Apache, Nginx, LiteSpeed) | sprejema zahteve iz omrežja | ponudnik gostovanja ali skrbnik strežnika |
| Izvajalno okolje PHP (interpreter) | izvaja kodo PHP | ponudnik gostovanja, skrbnik strežnika, vir paketov |
| Razširitve | gonilniki podatkovnih zbirk, obdelava slik, šifriranje | skupaj z izvajalnim okoljem PHP |
Konfiguracija (php.ini) |
omejitve, izpis napak, seje | skrbnik strežnika |
| Aplikacija (CMS, spletna trgovina) | vsebine in poslovna logika | agencija ali lastna ekipa |
| Vtičniki in knjižnice | dodatne funkcije | agencija ali lastna ekipa |
Povezavo med spletnim strežnikom in PHP imenujemo SAPI (Server Application Programming Interface). Ali PHP teče kot modul Apache, prek PHP-FPM ali kot CGI, vpliva na delovanje in varnost. Več o tem na strani SAPI razložen in v prispevku Kako PHP ustvari spletno stran.
Zakaj je različica PHP pomembna za varnost
Vsaka različica PHP je vzdrževana le omejen čas. Po php.net velja za vsako vejo različic dve leti aktivne podpore, nato pa še dve leti samo varnostni popravki. Potem je veja na koncu življenjske dobe in ne prejema več uradnih posodobitev. Podrobnosti so na strani Različice PHP in cikel izdaj.
Kako pomembno je to, kaže PHP2Shell. Oktobra 2026 sta postali znani dve kritični ranljivosti v samem PHP, CVE-2026-109618 in CVE-2026-109619, obe s CVSS v4.0 9,2. Omogočata izvajanje škodljive kode na daljavo brez prijave. Odpravljeni sta v PHP 8.5.12, 8.4.27, 8.3.36 in 8.2.35. Za PHP 8.1 in starejše uradnih posodobitev ni več.
Za odločevalce iz tega izhajajo tri točke:
- Posodobitev CMS-ja ne zapre ranljivosti v PHP. Oboje je treba posodobiti ločeno.
- Po posodobitvi PHP je treba znova zagnati vse procese PHP, sicer stara koda v pomnilniku teče naprej.
- Popravek ne dokazuje, da prej ni bilo nič narobe. Pri nezaščitenih strežnikih sodi zraven tudi preverjanje sledi.
Pisno razjasnite, kdo pri vas skrbi za izvajalno okolje PHP: ponudnik gostovanja, agencija ali lastna IT. Pri PHP2Shell se je pokazalo, da je bilo to vprašanje v mnogih podjetjih odprto.
Kaj ranljivost natančno je in koga zadeva, razlaga stran Kaj je PHP2Shell?.
Kako PHP SOS pomaga konkretno?
- Zajem stanja: ugotovimo, kateri od vaših sistemov uporabljajo PHP, v kateri različici in načinu delovanja.
- Razjasnitev odgovornosti: pokažemo, katere dele vzdržuje vaš ponudnik gostovanja in katere vi ali vaša agencija.
- Posodobitev: prek storitve popravljanja PHP namestimo posodobitve, znova zaženemo vse procese in dokumentiramo stanje.
- Naknadno preverjanje: kjer je bil strežnik nezaščiteno dosegljiv, preverimo sledi vdora.
Pogosta vprašanja
Ali je PHP programski jezik ali samo skriptni jezik?
Velja oboje. PHP je polnovreden programski jezik splošne rabe s funkcijami, razredi in tipi. Skriptni jezik se mu reče, ker izvorna koda ni vnaprej prevedena v izvršljivo datoteko, temveč jo med izvajanjem obdela interpreter PHP.
Ali obiskovalci moje spletne strani vidijo kodo PHP?
Ne. PHP teče na strežniku, brskalnik prejme samo rezultat, praviloma HTML. Izjeme nastanejo zaradi napačne konfiguracije, na primer če spletni strežnik datoteke PHP izda kot besedilo ali če so varnostne kopije, kot je index.php.bak, javno dostopne.
Po čem prepoznam, ali moja spletna stran teče na PHP?
Večina razširjenih CMS-jev in sistemov za spletne trgovine, kot so WordPress, TYPO3, Shopware, Joomla ali Nextcloud, je napisana v PHP. Zanesljivo to razjasnite pri ponudniku gostovanja, agenciji ali s pogledom v konfiguracijo strežnika.
Ali moram kot direktor razumeti PHP?
Ne v podrobnostih. Pomembno je vedeti, da je PHP samostojna programska oprema z lastnimi posodobitvami, ločena od CMS-ja. Pisno naj bo razjasnjeno, kdo skrbi za različico PHP na vaših strežnikih.