Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

Kas yra PHP? Programavimo kalba paprastai

PHP yra skriptų kalba, kuri veikia serveryje ir ten sukuria HTML. Daugelis CMS ir parduotuvių sistemų remiasi PHP, todėl PHP spraga paliečia labai daug svetainių.

Būsena 4 min. skaitymoPHP žinios

Trumpai: PHP yra atvirojo kodo skriptų kalba, daugiausia naudojama žiniatinklio programoms. Kodas veikia serveryje, ten sukuria HTML, o į naršyklę išsiunčiamas tik rezultatas. Kadangi daugelis CMS, parduotuvių ir vidinių įrankių remiasi PHP, serverio PHP versija yra atskiras saugumo veiksnys, nepriklausomas nuo CMS atnaujinimo.

Kas yra PHP? Apibrėžimas paprastais žodžiais

PHP vadove PHP apibūdinama kaip plačiai paplitusi, atvirojo kodo, bendrosios paskirties skriptų kalba, ypač tinkama žiniatinklio kūrimui ir galinti būti įterpiama į HTML. Pavadinimas yra rekursyvi santrumpa, t. y. santrumpa, kurioje yra ji pati: „PHP: Hypertext Preprocessor“.

Esminis skirtumas nuo JavaScript naršyklėje: PHP kodas vykdomas serveryje. Lankytojas gauna tik galutinį rezultatą ir pirminio teksto nemato. Todėl PHP tinka viskam, kas turi likti konfidencialu, pavyzdžiui, prieigai prie duomenų bazių, prisijungimams ar kainų skaičiavimui.

Pasak vadovo, PHP turi dvi pagrindines taikymo sritis: serverio pusės skriptus svetainėms ir skriptus komandinėje eilutėje, pavyzdžiui, reguliarioms užduotims per Cron. Abu variantai sutinkami beveik kiekvienoje įmonėje, kuri turi savo svetainę, parduotuvę ar klientų portalą.

Kur jūsų įmonėje slypi PHP?

PHP retai matomas tiesiogiai. Jis slypi programinėje įrangoje, kurią pažįstate kitais pavadinimais. Tipiniai pavyzdžiai:

  • Turinio valdymo sistemos (CMS), pavyzdžiui, WordPress, TYPO3, Joomla, Drupal ar Contao
  • Parduotuvių sistemos, pavyzdžiui, Shopware, WooCommerce, Magento ar PrestaShop
  • Vidinės paslaugos, pavyzdžiui, Nextcloud, Moodle, MediaWiki ar Matomo
  • Individualūs sprendimai pagal tokius karkasus (framework) kaip Laravel ar Symfony
  • Žiniatinklio sąsajos įrenginiuose ir hostingo valdymo skydeliuose

Kiekvienai iš šių programų reikia įdiegtos PHP vykdymo aplinkos, t. y. programos, kuri vykdo PHP kodą. Ši vykdymo aplinka yra atskira programinė įranga su savais atnaujinimais. WordPress ar Shopware atnaujinimas PHP neatnaujina. Todėl, kas kokias sistemas eksploatuoja, turėtų būti užfiksuota inventoriuje, kaip aprašyta straipsnyje Visų svetainių ir serverių inventorius.

Kaip atrodo PHP kodas?

PHP kodas rašomas tarp žymų <?php ir ?>. Viskas už jų išvedama kaip HTML be pakeitimų. Mažas, nekenksmingas pavyzdys:

<?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>

Serveris įvykdo PHP dalį ir naršyklei išsiunčia tik paruoštą HTML, pavyzdžiui, „Guten Tag, heute ist der 25.10.2026“ (pavyzdyje tai vokiškas sveikinimas ir data). Funkcija htmlspecialchars() paverčia specialiuosius simbolius ir taip apsaugo nuo įterpto HTML. Tokios įtaisytos apsaugos funkcijos yra viena iš priežasčių, kodėl tvarkingai parašytas PHP kodas gali būti saugus.

Iš kokių dalių sudaryta PHP aplinka?

PHP svetainę sudaro ne tik programos kodas. Kartu veikia keli sluoksniai, ir kiekvienam reikia savos priežiūros:

Dalis Paskirtis Kas paprastai atnaujina?
Žiniatinklio serveris (Apache, Nginx, LiteSpeed) priima užklausas iš tinklo hostingo teikėjas arba serverio administratorius
PHP vykdymo aplinka (interpretatorius) vykdo PHP kodą hostingo teikėjas, serverio administratorius, paketų šaltinis
Plėtiniai duomenų bazių tvarkyklės, vaizdų apdorojimas, šifravimas kartu su PHP vykdymo aplinka
Konfigūracija (php.ini) ribos, klaidų išvestis, sesijos serverio administratorius
Programa (CMS, parduotuvė) turinys ir verslo logika agentūra arba savo komanda
Papildiniai ir bibliotekos papildomos funkcijos agentūra arba savo komanda

Ryšys tarp žiniatinklio serverio ir PHP vadinamas SAPI (Server Application Programming Interface). Nuo to, ar PHP veikia kaip Apache modulis, per PHP-FPM ar kaip CGI, priklauso eksploatavimas ir saugumas. Daugiau skaitykite skyriuje SAPI paaiškinta ir straipsnyje Kaip PHP sukuria tinklalapį.

Kodėl PHP versija svarbi saugumui

Kiekviena PHP versija prižiūrima tik ribotą laiką. Pasak php.net, kiekviena versijų šaka dvejus metus gauna aktyvią priežiūrą, o po to dar dvejus metus tik saugumo pataisymus. Po to šaka pasiekia gyvavimo pabaigą ir oficialių atnaujinimų nebegauna. Išsamiau aprašyta skyriuje PHP versijos ir leidimų ciklas.

PHP2Shell tai parodo aiškiai. 2026 m. spalį paaiškėjo dvi kritinės spragos pačiame PHP, CVE-2026-109618 ir CVE-2026-109619, abi su CVSS v4.0 9,2. Jos leidžia nuotoliu vykdyti kenkėjišką kodą be prisijungimo. Ištaisytos PHP 8.5.12, 8.4.27, 8.3.36 ir 8.2.35. PHP 8.1 ir senesnėms versijoms oficialių atnaujinimų nebėra.

Sprendimų priėmėjams iš to išplaukia trys dalykai:

  1. CMS atnaujinimas PHP spragos neuždaro. Abu dalykai turi būti atnaujinami atskirai.
  2. Po PHP atnaujinimo reikia iš naujo paleisti visus PHP procesus, kitaip atmintyje toliau veikia senas kodas.
  3. Pataisa neįrodo, kad anksčiau nieko neįvyko. Neapsaugotuose serveriuose reikia patikrinti, ar nėra pėdsakų.
Svarbu

Raštu išsiaiškinkite, kas pas jus atsako už PHP vykdymo aplinką: hostingo teikėjas, agentūra ar savas IT skyrius. PHP2Shell atveju paaiškėjo, kad daugelyje įmonių šis klausimas liko neatsakytas.

Kokia tiksliai yra spraga ir ko ji liečia, paaiškina puslapis Kas yra PHP2Shell?.

Kaip PHP SOS padeda konkrečiai?

  • Inventorizacija: nustatome, kurios jūsų sistemos naudoja PHP, kokios versijos ir kokiu veikimo režimu.
  • Atsakomybių išaiškinimas: parodome, kokias dalis prižiūri jūsų hostingo teikėjas, o kokios yra jūsų ar jūsų agentūros atsakomybė.
  • Atnaujinimas: per PHP pataisų paslaugą įdiegiame atnaujinimus, iš naujo paleidžiame visus procesus ir dokumentuojame būseną.
  • Patikra po atnaujinimo: kur serveris buvo pasiekiamas be apsaugos, tikriname, ar nėra įsilaužimo pėdsakų.

Dažni klausimai

Ar PHP yra programavimo kalba, ar tik skriptų kalba?

Tinka abu apibūdinimai. PHP yra visavertė, bendrosios paskirties programavimo kalba su funkcijomis, klasėmis ir tipais. Skriptų kalba ji vadinama todėl, kad pirminis tekstas iš anksto nekompiliuojamas į vykdomąjį failą, o vykdymo metu apdorojamas PHP interpretatoriaus.

Ar mano svetainės lankytojai mato PHP kodą?

Ne. PHP veikia serveryje, naršyklė gauna tik rezultatą, dažniausiai HTML. Išimtys atsiranda dėl klaidingos konfigūracijos, pavyzdžiui, kai žiniatinklio serveris PHP failus pateikia kaip tekstą arba viešai pasiekiamos atsarginės kopijos, tokios kaip index.php.bak.

Kaip atpažinti, ar mano svetainė veikia su PHP?

Dauguma plačiai naudojamų CMS ir parduotuvių sistemų, pavyzdžiui, WordPress, TYPO3, Shopware, Joomla ar Nextcloud, parašyta PHP kalba. Tai tikrai patvirtins hostingo teikėjas, agentūra arba serverio konfigūracijos peržiūra.

Ar vadovui reikia išmanyti PHP?

Ne iki smulkmenų. Svarbu žinoti, kad PHP yra atskira programinė įranga su savais atnaujinimais, nepriklausoma nuo CMS. Raštu turi būti aišku, kas atsako už PHP versiją jūsų serveriuose.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba