# Bezpečnosť Craft CMS po PHP2Shell: zabezpečiť weby agentúr

> Zabezpečte Craft CMS po PHP2Shell: skontrolujte PHP v systémovej správe, chráňte .env a Security-Key, vypnite devMode a porovnajte Project Config.

Zdroj: https://phpsos.de/sk/plattformen/craft-cms/  
Stav: 25.10.2026  
Poskytovateľ: PHP SOS, Núdzová pomoc pri PHP a bezpečnosť serverov. Okamžitá pomoc cez WhatsApp: https://wa.me/491736494914?text=Dobr%C3%BD%20de%C5%88%2C%20PHP%20SOS%2C%20potrebujeme%20pomoc%20s%20na%C5%A1%C3%ADm%20serverom%20s%20PHP.%20Spolo%C4%8Dnos%C5%A5%3A%20%E2%80%A6%20Web%3A%20%E2%80%A6

**Stručne:** Bezpečnosť Craft CMS závisí po PHP2Shell od PHP servera, nie od Craft. Práve agentúry s mnohými webmi na Craft by mali teraz skontrolovať každý server zvlášť. Po záplate a reštarte patria na previerku `.env`, Security-Key, `devMode`, koreň dokumentov a porovnanie Project Config.

## Čo PHP2Shell znamená pre weby na Craft

Craft CMS je u agentúr obľúbený, pretože ponúka flexibilné modely obsahu a čisté šablóny. Mnohé agentúry preto spravujú desiatky webov na Craft na rôznych serveroch a hostingových balíkoch. Zraniteľnosti PHP CVE-2026-109618 a CVE-2026-109619 podľa tímu PHP umožňujú spustenie škodlivého kódu na diaľku bez prihlásenia, nezávisle od verzie Craft.

Pre agentúry je preto najdôležitejšia otázka organizačná: Ktorý web beží kde, s akým PHP a kto je zodpovedný za aktualizáciu? Prvým krokom je zoznam všetkých inštalácií s poskytovateľom hostingu, stavom PHP a kontaktnou osobou. Ako agentúram pri tom pomáhame, popisuje stránka [Bezpečnostný partner pre agentúry](https://phpsos.de/sk/branchen/agenturen-white-label/).

## Bezpečnosť Craft CMS: skontrolovať verziu PHP

V Control Panel zobrazuje **Nástroje > Systémová správa** verziu PHP, databázu a nainštalované pluginy. Je to verzia, s ktorou web beží na internete. Konzola Craft `php craft`, spracovanie frontu a cron úlohy používajú naopak PHP z príkazového riadku. Obe musia byť záplatované.

Opravené upstream verzie sú 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Mnohí poskytovatelia hostingu nasadzujú opravy ako backport; číslo potom zostane rovnaké. Ktoré verzie sú dotknuté, ukazuje stránka [Ktoré verzie PHP sú dotknuté?](https://phpsos.de/sk/php2shell/betroffene-php-versionen/). Ktoré verzie PHP vaša verzia Craft podporuje, skontrolujte podľa systémových požiadaviek v dokumentácii na craftcms.com.

Craft spracúva úlohy na pozadí vo fronte. Ak beží ako trvalý proces pod správcom procesov, musí sa po aktualizácii PHP reštartovať aj tento.

## Adresáre a konfigurácia v Craft

| Miesto | Obsah | Bod kontroly |
|---|---|---|
| `.env` | Prístup k databáze, `CRAFT_SECURITY_KEY`, ďalšie kľúče | Hodnoty pri podozrení obnoviť |
| `config/general.php` | `devMode`, `allowAdminChanges`, cesta ku Control Panel | Vložený kód PHP |
| `config/project/` | Project Config ako YAML | Porovnanie s Git |
| `web/` | Koreň dokumentov s `index.php`, `cpresources/`, často nahrávky | Ďalšie súbory PHP |
| `storage/` | Logy, súbory behu, často zálohy databázy | Nesmie byť dostupné cez web |
| `templates/` | Šablóny Twig | Cudzí JavaScript |
| `modules/`, `vendor/` | Vlastné moduly a pluginy | Zmenené súbory, `composer audit` |

Často prehliadaným bodom je `storage/backups/`. Craft tam ukladá zálohy databázy, ktoré môžu obsahovať úplné údaje zákazníkov a formulárov. Tento priečinok nikdy nesmie byť pod koreňom dokumentov.

Neškodné kontroly v príkazovom riadku:

```bash
# Zobraziť rozdiely medzi Project Config a databázou
php craft project-config/diff
# Súbory PHP v koreni dokumentov okrem index.php
find web -type f -name "*.php" ! -name "index.php"
composer audit
```

> **Dôležité:**
> V produkcii patrí `devMode` na `false`. So zapnutým `devMode` zobrazuje Craft podrobné chybové hlásenia s cestami a úryvkami kódu, ktoré útočníkom uľahčujú prácu.

## Control Panel, používatelia a pluginy

Control Panel je štandardne pod `/admin`. Skontrolujte, ktorí používatelia majú práva administrátora, a odstráňte prístupy bývalých zamestnancov a freelancerov. Craft podporuje dvojfaktorové prihlásenie; používajte ho pre všetky účty so zvýšenými právami.

V produkcii nastavte `allowAdminChanges` na `false`. Polia, sekcie a nastavenia pluginov sa potom dajú meniť iba cez verziovanú Project Config a každá odchýlka vyjde najavo pri porovnaní s Git. Pluginy z Plugin Store prinášajú vlastný kód PHP; skontrolujte, či sa všetky ešte udržiavajú a zodpovedajú cieľovej verzii PHP.

```php
// config/general.php, výrez pre produkčné prostredie
'devMode' => false,
'allowAdminChanges' => false,
```

## Čo aktualizácia Craft dokáže a čo nie

Aktualizácia Craft alebo pluginu uzatvára chyby v tomto kóde a môže umožniť novšie verzie PHP. PHP nezáplatuje, nereštartuje ani PHP-FPM, ani front úloh, neobnoví uniknutý Security-Key a neodstráni cudzie súbory z `web/` ani `storage/`.

Pre agentúry s mnohými inštaláciami Craft sa po záplate počíta najmä opakovateľnosť. Pre každý web zaznamenajte, aká verzia PHP beží na webe a v príkazovom riadku, kedy sa potvrdil reštart a či boli kontroly nápadné. Tento prehľad pomáha pri otázkach zákazníkov a pri budúcich hláseniach. Myslite aj na verejne dostupné staging a vývojové prostredia. Často bežia s `devMode`, staršími stavmi a skutočnými údajmi zákazníkov a pri aktualizáciách sa radi zabúdajú. Ak existujú pochybnosti, či sa zákaznícky web týka, informujte zákazníka vecne, namiesto aby ste čakali.

## Ako konkrétne pomáha PHP SOS?

- S vami zaznamenáme všetky inštalácie Craft s poskytovateľom hostingu, stavom PHP a zodpovednosťou.
- Necháme si potvrdiť záplatu a reštart pre každý server a zálohujeme logy od 20. 10. 2026.
- Kontrolujeme koreň dokumentov, `storage`, konfiguráciu, používateľov a porovnanie Project Config.
- Na požiadanie prevezmeme priebežnú bezpečnostnú starostlivosť o vaše zákaznícke weby v [bezpečnostnej zmluve o údržbe](https://phpsos.de/sk/leistungen/security-wartungsvertrag/), aj pod vaším menom.


## Časté otázky

**Týka sa PHP2Shell Craft CMS?**  
Samotné Craft CMS nemá novú zraniteľnosť. Beží však na PHP a PHP2Shell je v PHP. Každá inštalácia Craft na nezáplatovanom serveri je preto potenciálne napadnuteľná, bez ohľadu na verziu Craft.

**Kde Craft zobrazuje verziu PHP?**  
V Control Panel pod Nástroje > Systémová správa. Nachádza sa tam verzia PHP, databáza a nainštalované pluginy. Nasadený backport sa z čísla nedá rozpoznať; potvrdí ho váš poskytovateľ hostingu.

**Čo je Security-Key v Craft a prečo ho obnoviť?**  
Security-Key zo súboru .env slúži na podpisovanie a šifrovanie údajov. Kto ho pozná, môže za určitých okolností falšovať relácie alebo údaje formulárov. Pri podozrení by ste ho mali obnoviť v dohode so svojou agentúrou.

**Čo prináša allowAdminChanges nastavené na false?**  
Polia, sekcie a nastavenia pluginov sa potom v produkcii už nedajú meniť cez Control Panel. Zmeny prichádzajú len cez verziovanú Project Config, čo manipulácie sťažuje a robí viditeľnejšími.

## Zdroje

- [php.net: bezpečnostné hlásenia](https://www.php.net/)
- [Craft CMS](https://craftcms.com/)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [Podporované verzie PHP](https://www.php.net/supported-versions.php)
