# Craft CMS sigurnost nakon PHP2Shella: zaštita web-stranica agencija

> Zaštitite Craft CMS nakon PHP2Shella: provjerite PHP u izvješću sustava, zaštitite .env i Security Key, isključite devMode i uskladite Project Config.

Izvor: https://phpsos.de/hr/plattformen/craft-cms/  
Stanje: 25.10.2026  
Pružatelj: PHP SOS, PHP hitna pomoć i sigurnost poslužitelja. Hitna pomoć putem WhatsAppa: https://wa.me/491736494914?text=Pozdrav%20PHP%20SOS%2C%20trebamo%20pomo%C4%87%20s%20na%C5%A1im%20PHP%20poslu%C5%BEiteljem.%20Tvrtka%3A%20%E2%80%A6%20Web-stranica%3A%20%E2%80%A6

**Ukratko:** Craft CMS sigurnost nakon PHP2Shella ovisi o PHP-u poslužitelja, a ne o Craftu. Osobito bi agencije s mnogo Craft web-stranica sada trebale provjeriti svaki poslužitelj zasebno. Nakon zakrpe i ponovnog pokretanja provjere zaslužuju `.env`, Security Key, `devMode`, korijen dokumenata i usklađenost Project Configa.

## Što PHP2Shell znači za Craft web-stranice

Craft CMS omiljen je kod agencija jer nudi fleksibilne modele sadržaja i čiste predloške. Sukladno tome mnoge agencije održavaju desetke Craft web-stranica na različitim poslužiteljima i hosting paketima. PHP ranjivosti CVE-2026-109618 i CVE-2026-109619 prema PHP timu omogućuju zlonamjerni kôd na daljinu bez prijave, neovisno o verziji Crafta.

Za agencije je najvažnije pitanje stoga organizacijsko: koja web-stranica radi gdje, s kojim PHP-om i tko je odgovoran za ažuriranje? Popis svih instalacija s pružateljem hostinga, stanjem PHP-a i kontakt osobom prvi je korak. Kako agencijama u tome pomažemo, opisuje stranica [Sigurnosni partner za agencije](https://phpsos.de/hr/branchen/agenturen-white-label/).

## Craft CMS sigurnost: provjera verzije PHP-a

U Control Panelu **Alati > Izvješće sustava** prikazuje verziju PHP-a, bazu podataka i instalirane dodatke. To je verzija s kojom web-stranica radi na webu. Craft konzola `php craft`, obrada reda i cron zadaci pak koriste PHP naredbenog retka. Oba moraju biti zakrpana.

Ispravljene upstream verzije su 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Mnogi pružatelji hostinga ispravke ugrađuju kao backport; broj tada ostaje isti. Koje su verzije pogođene, prikazuje stranica [Koje su verzije PHP-a pogođene?](https://phpsos.de/hr/php2shell/betroffene-php-versionen/). Koje PHP verzije podržava Vaša verzija Crafta, provjerite prema sistemskim zahtjevima u dokumentaciji na craftcms.com.

Craft pozadinske zadatke obrađuje u redu čekanja. Ako radi kao trajni proces pod upraviteljem procesa, i taj se nakon PHP ažuriranja mora ponovno pokrenuti.

## Direktoriji i konfiguracija u Craftu

| Mjesto | Sadržaj | Točka provjere |
|---|---|---|
| `.env` | Pristup bazi podataka, `CRAFT_SECURITY_KEY`, ostali ključevi | Nakon sumnje obnoviti vrijednosti |
| `config/general.php` | `devMode`, `allowAdminChanges`, put do Control Panela | Umetnuti PHP kôd |
| `config/project/` | Project Config kao YAML | Usporedba s Gitom |
| `web/` | Korijen dokumenata s `index.php`, `cpresources/`, često uploadi | Dodatne PHP datoteke |
| `storage/` | Logovi, datoteke izvođenja, često sigurnosne kopije baze podataka | Nije dostupno putem weba |
| `templates/` | Twig predlošci | Strani JavaScript |
| `modules/`, `vendor/` | Vlastiti moduli i dodaci | Izmijenjene datoteke, `composer audit` |

Točka koja se često previdi je `storage/backups/`. Craft tamo odlaže sigurnosne kopije baze podataka koje mogu sadržavati potpune podatke kupaca i obrazaca. Ta mapa nikada ne smije ležati ispod korijena dokumenata.

Neopasne provjere u naredbenom retku:

```bash
# Prikaz razlika između Project Configa i baze podataka
php craft project-config/diff
# PHP datoteke u korijenu dokumenata osim index.php
find web -type f -name "*.php" ! -name "index.php"
composer audit
```

> **Važno:**
> U produkciji `devMode` mora biti `false`. S uključenim `devMode` Craft prikazuje opširne poruke o pogreškama s putovima i isječcima kôda koji napadačima olakšavaju posao.

## Control Panel, korisnici i dodaci

Control Panel se prema zadanim postavkama nalazi na `/admin`. Provjerite koji korisnici imaju administratorska prava i uklonite pristupe bivših zaposlenika i freelancera. Craft podržava dvofaktorsku prijavu; koristite je za sve račune s povišenim pravima.

U produkciji postavite `allowAdminChanges` na `false`. Tada se polja, odjeljci i postavke dodataka mogu mijenjati samo putem verzionirane Project Config, a svako odstupanje primjećuje se pri usporedbi s Gitom. Dodaci iz Plugin Storea donose vlastiti PHP kôd; provjerite održavaju li se još svi i odgovaraju li ciljanoj verziji PHP-a.

```php
// config/general.php, isječak za produkcijsko okruženje
'devMode' => false,
'allowAdminChanges' => false,
```

## Što Craft ažuriranje može, a što ne

Ažuriranje Crafta ili dodatka zatvara pogreške u tom kôdu i može omogućiti novije verzije PHP-a. Ne zakrpava PHP, ne pokreće ponovno ni PHP-FPM ni red čekanja, ne obnavlja iscurjeli Security Key i ne uklanja strane datoteke iz `web/` ili `storage/`.

Za agencije s mnogo Craft instalacija nakon zakrpe ponajprije vrijedi ponovljivost. Za svaku web-stranicu zabilježite koja verzija PHP-a radi na webu i u naredbenom retku, kada je potvrđeno ponovno pokretanje i jesu li provjere bile upadljive. Taj pregled pomaže pri upitima klijenata i kod budućih objava. Mislite i na javno dostupna staging i razvojna okruženja. Često rade s `devMode`, starijim stanjima i stvarnim podacima klijenata te se pri ažuriranjima rado zaborave. Ako postoji sumnja je li klijentska stranica pogođena, klijenta obavijestite stvarno umjesto da čekate.

## Kako PHP SOS konkretno pomaže?

- S Vama bilježimo sve Craft instalacije s pružateljem hostinga, stanjem PHP-a i odgovornošću.
- Dajemo potvrditi zakrpu i ponovno pokretanje po poslužitelju te osiguravamo logove od 20.10.2026.
- Provjeravamo korijen dokumenata, `storage`, konfiguraciju, korisnike i usklađenost Project Configa.
- Na zahtjev preuzimamo trajnu sigurnosnu skrb za Vaše klijentske stranice u [sigurnosnom ugovoru o održavanju](https://phpsos.de/hr/leistungen/security-wartungsvertrag/), i pod Vašim imenom.


## Česta pitanja

**Pogađa li PHP2Shell Craft CMS?**  
Sam Craft CMS nema novu ranjivost. No radi na PHP-u, a PHP2Shell je u PHP-u. Svaka Craft instalacija na nezakrpanom poslužitelju stoga je potencijalno ranjiva, neovisno o verziji Crafta.

**Gdje Craft prikazuje verziju PHP-a?**  
U Control Panelu pod Alati > Izvješće sustava. Tamo su verzija PHP-a, baza podataka i instalirani dodaci. Ugrađen backport po broju se ne prepoznaje; to potvrđuje Vaš pružatelj hostinga.

**Što je Security Key u Craftu i zašto ga obnoviti?**  
Security Key iz datoteke .env služi za potpisivanje i šifriranje podataka. Tko ga poznaje, pod određenim uvjetima može krivotvoriti sesije ili podatke obrazaca. Nakon sumnje obnovite ga u dogovoru sa svojom agencijom.

**Što donosi allowAdminChanges postavljen na false?**  
Time se polja, odjeljci i postavke dodataka u produkciji više ne mogu mijenjati putem Control Panela. Izmjene dolaze samo putem verzionirane Project Config, što manipulacije čini težima i vidljivijima.

## Izvori

- [php.net: sigurnosne objave](https://www.php.net/)
- [Craft CMS](https://craftcms.com/)
- [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/)
- [Podržane verzije PHP-a](https://www.php.net/supported-versions.php)
