Lyhyesti: Suuri osa yleisistä sisällönhallintajärjestelmistä (CMS) ja verkkokauppajärjestelmistä on kirjoitettu PHP:llä, muun muassa WordPress ja WooCommerce, TYPO3, Joomla, Drupal, Contao, Shopware, Magento eli Adobe Commerce ja PrestaShop. Lisäksi tulevat sisäiset sovellukset kuten Nextcloud, Moodle, MediaWiki ja Matomo. Joka käyttää jotakin näistä järjestelmistä, on PHP-tulkin aukkojen, kuten PHP2Shellin, vaikutuspiirissä, riippumatta siitä, kuinka ajan tasalla CMS itse on.
Miksi niin moni verkkosivusto toimii PHP:llä
PHP on 1990-luvulta lähtien räätälöity verkkopalvelimille, ja se on saatavilla käytännössä jokaiselta hosting-yritykseltä. PHP-pohjaista CMS:ää voi siksi käyttää ilman omaa palvelininfrastruktuuria, mikä on ollut ja on edelleen houkuttelevaa erityisesti pienille ja keskisuurille yrityksille, yhdistyksille ja viranomaisille.
Ylläpitäjälle tämä tarkoittaa: verkkosivusto ei ole pelkkä ”WordPress” tai ”Shopware”, vaan usean kerroksen pino. Alimpana toimii käyttöjärjestelmä, sen päällä verkkopalvelin, sitten PHP-tulkki ja ylimpänä CMS lisäosineen. Jokainen kerros tarvitsee omat päivityksensä. PHP:n aukko osuu kaikkiin sen päälle rakentuviin järjestelmiin.
Lisäksi tulevat laajennukset: lisäosat, teemat, moduulit ja verkkokaupan rajapinnat ovat myös PHP-koodia, usein pieniltä toimittajilta. Ne toimivat samoilla oikeuksilla kuin CMS ja saman PHP-ajoympäristön suorittamina. Paljon laajennuksia sisältävällä CMS:llä on siksi suurempi hyökkäyspinta-ala kuin hoikalla asennuksella, vaikka ydin olisi ajan tasalla.
Yksittäisten järjestelmien levinneisyyslukuja jätämme tässä pois. Niille ei ole lähdettä, jota pitäisimme luotettavana ja vertailukelpoisena.
Yleiset PHP-pohjaiset CMS- ja verkkokauppajärjestelmät
Taulukko mainitsee tunnetut järjestelmät ja sen, mitä valmistajat itse kertovat tekniikkapohjastaan. Versiovaatimuksia emme tietoisesti mainitse, koska ne muuttuvat jokaisen julkaisun myötä.
| Järjestelmä | Laji | Huomio tekniikkapohjasta |
|---|---|---|
| WordPress, WooCommerce | CMS, verkkokauppalaajennus | PHP-sovellus, MySQL tai MariaDB vaatimusten mukaan |
| TYPO3 | CMS | tarvitsee dokumentaation mukaan verkkopalvelimen, PHP:n ja SQL-tietokannan |
| Joomla | CMS | PHP ja MySQL, MariaDB tai PostgreSQL |
| Drupal | CMS | PHP; ytimen laajennukset tiedostossa core/composer.json |
| Contao | CMS | valmistajan mukaan Symfony-full-stack-kehyksellä |
| Craft CMS | CMS | valmistaja mainitsee Yiin käytetyistä työkaluista |
| Shopware 6 | verkkokauppa | kehittäjädokumentaatio käsittelee lisäosia Symfony-bundleina |
| Magento Open Source, Adobe Commerce | verkkokauppa | PHP ja Composer järjestelmävaatimuksissa |
| PrestaShop | verkkokauppa | PHP ja oma yhteensopivuustaulukko |
| Nextcloud | tiedostotallennus | Apache ja mod_php tai PHP-FPM, Nginx ja PHP-FPM |
| Moodle | oppimisalusta | dokumentaation mukaan kehitetty PHP:llä |
| MediaWiki, Matomo | wiki, tilastot | PHP asennusvaatimusten mukaan |
Monet näistä järjestelmistä käyttävät sisäisesti PHP-kehysten rakennuspalikoita ja lataavat kirjastoja Composerilla. Useimmille meillä on omat sivunsa suojausvinkkeineen, esimerkiksi WordPress, Shopware 6 ja TYPO3.
Miten selvitän, toimiiko verkkosivustoni PHP:llä?
Monet yritykset eivät tiedä tarkalleen, mitä järjestelmiä niillä toimii, varsinkin jos verkkotoimisto on rakentanut verkkosivuston. Nämä askeleet tuovat selkeyttä:
- Luettelon laatiminen: Luetteloikaa kaikki verkkotunnukset, aliverkkotunnukset ja sisäiset verkkokäyttöliittymät, myös testijärjestelmät ja vanhat kampanjasivut.
- Kysykää hosting-yritykseltä tai verkkotoimistolta: Mikä järjestelmä, mikä PHP-versio, mikä ajotapa (PHP-FPM, mod_php, LiteSpeed)? Pyytäkää kirjallinen vastaus.
- Katsokaa hosting-paneelia: Pleskissä, cPanelissa ja vastaavissa käyttöliittymissä PHP-versio näkyy verkkosivustokohtaisesti. Huomatkaa, etteivät jakelun backportit muuta näytettyä numeroa.
- Tarkistus palvelimella: Ylläpitäjät näkevät prosesseista ja verkkopalvelimen konfiguraatiosta, mikä PHP-ajoympäristö todella palvelee.
- Laitteita ei saa unohtaa: NAS-järjestelmillä, reitittimillä ja appliance-laitteilla on usein verkkokäyttöliittymä, joka voi myös toimia PHP:llä.
# Palvelimella: mitkä PHP-prosessit ovat käynnissä?
ps -eo user,cmd | grep -E 'php-fpm|lsphp|php-cgi|frankenphp' | grep -v grep
Järjestelmävaatimukset on otettava vakavasti
Jokainen valmistaja julkaisee, minkä PHP-versioiden kanssa sen ohjelmisto on testattu. Nämä tiedot ovat perusta jokaiselle päivityssuunnitelmalle: PHP-päivitys versioon, jota CMS ei vielä tue, voi lamauttaa verkkosivuston. CMS, joka toimii vain PHP-versiolla ilman tietoturvapäivityksiä, on pysyvä riski.
Tarkistakaa siksi valmistajan järjestelmävaatimuksista juuri teidän versiollenne, mitkä PHP-versiot tulevat kysymykseen, ja verratkaa se korjattuihin PHP-versioihin. Järjestelmille, jotka toimivat vain PHP 8.1:llä tai vanhemmalla, PHP-projekti ei enää tarjoa virallisia päivityksiä.
Mitä PHP2Shell tarkoittaa CMS- ja verkkokauppa-ylläpitäjille
PHP2Shell koostuu PHP-tulkin haavoittuvuuksista CVE-2026-109618 ja CVE-2026-109619, kummankin CVSS-pistemäärä on 9.2. Ne sallivat haittakoodin suorittamisen ilman kirjautumista. Ne on korjattu versioissa PHP 8.5.12, 8.4.27, 8.3.36 ja 8.2.35. CMS-päivitys ei sulje näitä aukkoja; miksi, selittää artikkelimme Miksi WordPress-päivitys ei auta PHP2Shelliä vastaan.
Verkkokaupoille tämä painaa erityisen paljon, koska niissä sijaitsevat asiakastiedot, tilaukset sekä maksu- ja toimituspalveluiden tunnukset. Korjaus ei lisäksi poista haittaohjelmaa, joka on ehditty asentaa aiemmin, eikä todista, ettei mitään ole tapahtunut.
Miten PHP SOS auttaa konkreettisesti?
- Laadimme luettelon PHP-pohjaisista verkkosivustoistanne ja sisäisistä sovelluksistanne järjestelmineen, PHP-versioineen ja ajotapoineen.
- Vertaamme valmistajien vaatimuksia korjattuihin PHP-versioihin ja suunnittelemme päivityksen järjestelmäkohtaisesti.
- Asennamme PHP-päivitykset, käynnistämme kaikki prosessit uudelleen ja tarkistamme sen jälkeen, toimivatko CMS ja verkkokauppa oikein.
- Poikkeamaepäilyssä tutkimme järjestelmän PHP2Shell-pikaavun puitteissa.
Usein kysytyt kysymykset
Toimiiko WordPress PHP:llä?
Kyllä. WordPress on PHP-sovellus ja tarvitsee virallisten vaatimusten mukaan PHP:n sekä MySQL- tai MariaDB-tietokannan. PHP-tulkin aukot koskevat siksi jokaista WordPress-asennusta, riippumatta WordPressin omasta tilasta.
Auttaako CMS-päivitys PHP2Shelliä vastaan?
Ei. Aukko on PHP:ssä, ei CMS:ssä. Drweb.de:n mukaan WordPress.org ei siksi suunnittele omaa päivitystä sitä vastaan. Se suljetaan vain korjatulla PHP-versiolla ja kaikkien PHP-prosessien uudelleenkäynnistyksellä.
Mistä saan tietää, mitä PHP-versiota verkkokauppani tarvitsee?
Valmistajan järjestelmävaatimuksista juuri teidän versiollenne. Nämä tiedot muuttuvat jokaisen isomman julkaisun myötä, joten ne kannattaa lukea suoraan valmistajalta eikä ottaa vanhoista ohjeista.
Koskeeko asia myös sisäisiä sovelluksia?
Kyllä, jos ne toimivat PHP:llä. Tiedostotallennustilat kuten Nextcloud, oppimisalustat kuten Moodle, sisäiset wikit MediaWikillä tai tilastot Matomolla ovat PHP-sovelluksia. Ne unohtuvat usein kartoituksista.
Eikö verkkosivusto ole PHP:tä, jos osoitteessa ei ole .php-päätettä?
Ei välttämättä. Modernit järjestelmät ohjaavat kaikki osoitteet keskitetyn index.php-tiedoston kautta, jolloin URL:ssa ei koskaan näy .php. Varmuuden antaa vain katsaus palvelimeen tai hosting-yrityksen tai verkkotoimiston vastaus.