# Kif tużaw PHP disable_functions sewwa

> Kif tużaw PHP disable_functions sewwa: liema funzjonijiet issakkru, kif tivverifikaw l-applikazzjoni minn qabel u fejn it-tisħiħ jilħaq il-limiti.

Sors: https://phpsos.de/mt/ratgeber/disable-functions/  
Stat: 25/10/2026  
Fornitur: PHP SOS, Għajnuna ta' emerġenza għal PHP u sigurtà tas-server. Għajnuna immedjata fuq WhatsApp: https://wa.me/491736494914?text=Bongu%20PHP%20SOS%2C%20g%C4%A7andna%20b%C5%BConn%20g%C4%A7ajnuna%20bis-server%20tal-PHP%20tag%C4%A7na.%20Kumpanija%3A%20%E2%80%A6%20Websajt%3A%20%E2%80%A6

**Fil-qosor:** B'PHP disable_functions issakkru funzjonijiet li permezz tagħhom PHP jesegwixxi kmandi tas-sistema, pereżempju `exec`, `shell_exec` jew `proc_open`. Dan jagħmel il-pass li jmiss aktar diffiċli għall-attakkanti wara dħul. L-issettjar jaħdem biss mill-php.ini jew mill-pool FPM, irid jaqbel mal-applikazzjoni u ma jissostitwixxix aġġornament.

## Għaliex disable_functions huwa sensat propju issa

F'PHP2Shell hawn l-eżekuzzjoni ta' kodiċi malizzjuż mill-bogħod mingħajr login. Iż-żewġ vulnerabbiltajiet CVE-2026-109618 u CVE-2026-109619 jinsabu fl-interpretatur ta' PHP innifsu, rranġati f'PHP 8.5.12, 8.4.27, 8.3.36 u 8.2.35. L-aġġornament huwa t-triq unika biex jingħalqu.

It-tisħiħ jibda livell wara. Min darba jista' jesegwixxi kodiċi fuq server ġeneralment irid ikompli: jibda kmandi tas-sistema, iniżżel għodod, jistabbilixxi backdoor permanenti. Ħafna minn dawn il-passi jgħaddu minn ftit funzjonijiet ta' PHP. Jekk dawn ikunu msakkra, it-triq issir iktar iebsa u iktar viżibbli.

disable_functions għalhekk mhuwiex sostitut tal-patches, imma element għall-każ li, minkejja kull prekawzjoni, xi ħaġa tgħaddi. Dan japplika għal vulnerabbiltajiet futuri bħalma japplika għal PHP2Shell.

## X'jagħmel PHP disable_functions u x'ma jagħmilx

L-issettjar ineħħi l-funzjonijiet imsemmija mill-ambjent tat-tħaddim. Jekk skript isejjaħ funzjoni mblukkata, PHP jieqaf b'żball. Is-sakra tgħodd għal kull kodiċi li jaħdem f'dan il-proċess ta' PHP, għalhekk ukoll għal kodiċi introdott.

Il-limiti għandkom tkunu tafuhom:

- L-issettjar mhuwiex spazju protett magħluq. Estensjonijiet ta' PHP, żbalji fl-interpretatur jew programmi barra minn PHP jistgħu jiċċirkumvenjuh.
- Ma jipprevjenix li attakkant jaqra jew jikteb fajls li l-utent ta' PHP għandu aċċess għalihom. Għal dan jaħdmu d-drittijiet tal-fajls u l-iżolament.
- Jaħdem biss mill-php.ini jew bħala `php_admin_value`. B'`ini_set()`, `.user.ini` jew `.htaccess` ma jistax jiġi ffissat.

Disable_functions jagħti l-aktar flimkien ma' php.ini nadifa, utenti separati għal kull websajt u drittijiet restrittivi tal-fajls. Il-bażijiet dwar dan jinsabu fil-gwida [Kif tikkonfiguraw php.ini b'mod sikur](https://phpsos.de/mt/ratgeber/php-ini-sicher-konfigurieren/).

## Liema funzjonijiet għandkom issakkru

Għal websajts tipiċi mingħajr bżonn ta' kmandi tas-sistema, il-lista li ġejja ppruvat ruħha. Tinkludi funzjonijiet biex jinbdew proċessi u biex jiġu kkontrollati proċessi li jaħdmu.

| Grupp | Funzjonijiet | Użu leġittimu tipiku |
|---|---|---|
| Eżekuzzjoni ta' kmandi | `exec`, `shell_exec`, `system`, `passthru` | Ipproċessar tal-immaġini, backups b'skript |
| Ftuħ ta' proċessi | `proc_open`, `popen` | Composer, għodod tal-PDF, bgħit tal-posta |
| Kontroll ta' proċessi | `proc_nice`, `proc_terminate`, `proc_get_status` | Kjuwijiet, jobs fl-isfond |
| Amministrazzjoni tal-proċessi | `pcntl_exec`, `pcntl_fork` | ġeneralment biss fuq il-linja tal-kmand |
| Sinjali u drittijiet | `posix_kill`, `posix_setuid` | rari fit-tħaddim tal-web |

Bħala konfigurazzjoni dan jidher hekk:

```ini
; php.ini tal-modalità tat-tħaddim tal-web, pereżempju /etc/php/8.3/fpm/php.ini
disable_functions = exec,shell_exec,system,passthru,proc_open,popen,proc_nice,proc_terminate,proc_get_status,pcntl_exec,pcntl_fork,posix_kill,posix_setuid
```

Jekk il-lista ma tgħoddx għall-websajts kollha fuq is-server, iffissawha għal kull pool FPM. Wara r-reload ivverifikaw liema lista verament tgħodd f'dan il-pool:

```ini
; /etc/php/8.3/fpm/pool.d/meine-seite.conf (silta)
php_admin_value[disable_functions] = exec,shell_exec,system,passthru,proc_open,popen
```

## Ivverifikaw l-applikazzjoni minn qabel: hekk tevitaw waqfiet

Min jiffissa l-lista mingħajr verifika jirriskja li tnaqqis tal-immaġini, fatturi PDF jew il-bgħit tal-posta f'daqqa jieqfu jaħdmu. Fittxu għalhekk minn qabel fil-kodiċi għall-funzjonijiet affettwati:

```bash
# Fejn u kemm-il darba jintużaw il-funzjonijiet fil-kodiċi?
grep -rnoE "\b(exec|shell_exec|system|passthru|proc_open|popen|pcntl_exec)\s*\(" /var/www/meine-seite --include="*.php" \
  | cut -d: -f1 | sort | uniq -c | sort -rn | head -30
```

Sejbiet ma jfissrux awtomatikament li l-funzjoni hija meħtieġa fit-tħaddim. Ħafna libreriji l-ewwel jivverifikaw jekk funzjoni hijiex disponibbli, u jaqilbu għal triq oħra jekk le. Id-deċiżiv huwa test f'ambjent staging b'kull proċess importanti: ordni, fattura, bgħit tal-formoli, upload tal-immaġini, kompiti skedati.

Jekk applikazzjoni teħtieġ bilfors waħda minn dawn il-funzjonijiet, ivverifikaw ir-rekwiżiti tas-sistema tal-manifattur fuq il-paġna uffiċjali tiegħu. Ħafna drabi l-kompitu jista' jinqaleb għal pool separat jew skript tal-linja tal-kmand li ma jintlaħaqx mill-web.

## Attivaw l-issettjar u kkontrollaw l-effett

Wara l-bidla, PHP irid jerġa' jaqra l-konfigurazzjoni. Wara ivverifikaw il-valur fil-modalità tat-tħaddim tal-websajt tagħkom, mhux fuq il-linja tal-kmand:

```bash
sudo systemctl reload php8.3-fpm
php-fpm8.3 -i | grep "^disable_functions"
# Ivverifikaw il-log tal-iżbalji għal sejħiet ta' funzjonijiet imsakkra
sudo grep -i "has been disabled" /var/log/php/*.log | tail -20
```

Il-messaġġi fil-log tal-iżbalji huma siewja wkoll aktar tard. Jekk f'daqqa wieħed jidhru hemmhekk sejħiet ta' funzjonijiet imsakkra għalkemm l-applikazzjoni tagħkom ma tużahomx, dan jista' jindika kodiċi introdott. Kif tkomplu f'dak il-każ tiddeskrivi l-gwida [Kif tagħrfu u tneħħu webshells](https://phpsos.de/mt/ratgeber/webshell-erkennen/).

## Żbalji tipiċi fl-użu ta' disable_functions

Fil-prattika t-tisħiħ rari jfalli mit-teknika, imma minn dettalji żgħar. Dawn l-iżbalji huma partikolarment mifruxa:

- **Fajl żbaljat mibdul:** Il-lista tinsab biss fil-php.ini tal-linja tal-kmand, il-websajt taħdem permezz ta' PHP-FPM u tibqa' mhix protetta.
- **L-ebda restart:** Il-fajl huwa korrett, imma l-proċessi li jaħdmu għadhom jaħdmu bil-konfigurazzjoni l-qadima.
- **Sakra wiesgħa żżejjed:** Funzjonijiet bħal `ini_set` jew `mail` jiġu msakkra wkoll, u proċessi importanti jieqfu mingħajr ma jidher. L-iżbalji spiss jinstabu biss wara jiem, pereżempju meta ma jaslux konfermi tal-ordni.
- **Iffissata darba, qatt ivverifikata:** Wara trasferiment, bidla tal-verżjoni ta' PHP jew installazzjoni mill-ġdid permezz tal-panel tal-hosting, il-lista tkun sparixxiet.
- **Sens falz ta' sigurtà:** Is-sakra tinftiehem bħala sostitut tal-aġġornamenti. Imma ma tagħlaq l-ebda vulnerabbiltà fl-interpretatur.

Inkludu għalhekk il-verifika tal-valur attiv fir-rutina tagħkom wara kull aġġornament ta' PHP. Ħarsa qasira hija biżżejjed, ma tiswiex kważi ħin u tevita li tisħiħ jintilef bil-kwiet.

> **Suġġeriment:**
> B'diversi websajts fuq server wieħed: oħolqu għal kull websajt pool proprju b'lista proprja. B'mod komplementari, [open_basedir](https://phpsos.de/mt/ratgeber/open-basedir/) jillimita d-direttorji li PHP jista' jaċċessa.

## Kif tgħin PHP SOS b'mod konkret?

- Niċċekkjaw il-kodiċi u l-proċessi tal-applikazzjoni tagħkom għall-użu ta' funzjonijiet kritiċi.
- Niffissaw għal kull websajt lista ta' sakra xierqa u nittestjawha qabel ma tmur live.
- Nikkombinaw is-sakra ma' pools, drittijiet tal-fajls u reġistrazzjoni f'kunċett konsistenti ta' tisħiħ.
- Niddokumentaw l-issettjar u nissorveljaw il-log tal-iżbalji għal sejħiet suspettużi.

Kif dan jaħdem bħala pakkett sħiħ jiddeskrivih is-servizz [Tisħiħ tas-server għal servers tal-web bi PHP](https://phpsos.de/mt/leistungen/server-haertung/).


## Mistoqsijiet frekwenti

**Nista' nissettja disable_functions permezz ta' ini_set() jew .htaccess?**  
Le. L-issettjar jaħdem biss mill-php.ini jew bħala php_admin_value fil-pool FPM jew fil-konfigurazzjoni ta' Apache. Waqt it-tħaddim ma jistax jiġi ffissat, u l-applikazzjoni lanqas ma tista' terġa' tippermetti funzjonijiet imsakkra.

**disable_functions jipproteġi minn PHP2Shell?**  
Le. PHP2Shell jolqot l-interpretatur ta' PHP innifsu, il-vulnerabbiltà tingħalaq biss bl-aġġornament. Funzjonijiet imsakkra, madankollu, jistgħu jillimitaw il-marġni ta' attakkant wara sfruttament b'suċċess.

**Għaliex php -i juri lista differenti mill-websajt tiegħi?**  
Il-linja tal-kmand ħafna drabi taqra php.ini proprja. Għall-websajt tgħodd il-konfigurazzjoni ta' PHP-FPM, mod_php jew LiteSpeed. Ivverifikaw għalhekk il-valur fil-modalità tat-tħaddim li permezz tagħha taħdem il-websajt tagħkom.

**Liema applikazzjonijiet jeħtieġu proc_open jew exec?**  
Dan jiddependi mill-applikazzjoni. Tipiċi huma l-ipproċessar tal-immaġini permezz ta' programmi esterni, il-ġenerazzjoni ta' PDF, il-bgħit tal-posta permezz ta' sendmail jew għodod bħal Composer. Ivverifikaw dan fil-kodiċi u fir-rekwiżiti tas-sistema tal-manifattur.

## Sorsi

- [php.net: Avviżi tas-sigurtà](https://www.php.net/)
- [OWASP Cheat Sheet Series](https://cheatsheetseries.owasp.org/)
- [BSI IT-Grundschutz](https://www.bsi.bund.de/DE/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/IT-Grundschutz/it-grundschutz_node.html)
