# Itfi session.upload_progress: sew u b'mod permanenti

> Issettja session.upload_progress.enabled=0 sew: fejn il-valur jaħdem, kif tibblokkah kontra t-tqabbid mill-ġdid u tivverifikah fil-kuntest tal-web.

Sors: https://phpsos.de/mt/blog/session-upload-progress-abschalten/  
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:** Issettja `session.upload_progress.enabled=0` fil-php.ini, fil-pool PHP-FPM jew fil-konfigurazzjoni tas-server ta' Apache, qatt b'`ini_set()` jew `.user.ini`, u wara erġa' ibda l-workers kollha ta' PHP. Il-miżura ssir permanenti biss meta l-valur ikun imblukkat kontra t-tqabbid mill-ġdid, japplika f'kull modalità tat-tħaddim u f'kull verżjoni ta' PHP installata, u jiġi vverifikat wara l-aġġornamenti.

## Issettjar żgħir b'effett doppju

Rari issettjar wieħed ta' PHP ikseb daqshekk attenzjoni. Meta php.net ippubblika fil-21 ta' Ottubru 2026 il-patches kontra PHP2Shell, `session.upload_progress.enabled=0` kien fuq il-lista tal-miżuri tranżitorji. Jumejn wara segwa l-avviż dwar CVE-2026-115560, u l-ħarsien rakkomandat kien l-istess issettjar.

Ħafna amministraturi issettjawh malajr f'dawn il-jiem. Jekk jaħdimx kullimkien hija mistoqsija oħra. Lakuni tipiċi jingħaddu malajr: il-valur jinsab biss fil-konfigurazzjoni tas-CLI, verżjoni oħra ta' PHP ġiet minsija, jew panel tal-hosting kiteb fuq il-fajl fil-ħażna li jmiss tal-konfigurazzjoni. Dan l-artikolu juri kif timplimenta l-miżura b'mod li tapplika wkoll fi tliet xhur.

Importanti minn qabel: li titfi ma tissostitwixxix l-aġġornament ta' PHP. Skont rapporti tekniċi, `session.upload_progress.enabled=0` waħdu ma jagħlaqx iż-żewġ vulnerabbiltajiet ta' PHP2Shell. X'jolqot eżattament CVE-2026-115560 jispjega l-paġna [CVE-2026-115560: avviż dwar session upload progress](https://phpsos.de/mt/php2shell/cve-2026-115560/).

## X'tagħmel il-funzjoni u min jeħtiġha

Session upload progress jikteb fis-session kontinwament il-progress waqt upload ta' fajl, biex applikazzjoni tkun tista' turi bar tal-progress. F'PHP il-funzjoni hija mixgħula b'mod standard. Il-manwal ta' PHP innifsu jindika li d-dettalji tal-fajl u tal-oqsma mibgħuta mill-mittent jispiċċaw mhux ivverifikati fil-ħażna tas-session, u jirrakkomanda li titfa l-funzjoni jekk l-applikazzjoni ma tużahiex.

Jekk l-applikazzjoni tiegħek tużahiex, tistgħu issibu b'tiftix li jaqra biss fil-kodiċi:

```bash
# Ifittex użi tal-funzjoni tal-progress fil-kodiċi tal-applikazzjoni
grep -rn --include="*.php" -e "upload_progress" -e "PHP_SESSION_UPLOAD_PROGRESS" /var/www/
```

Jekk it-tiftix ma jsib xejn, tista' titfi l-funzjoni mingħajr konsegwenzi ta' min jinduna. Jekk hemm hits, l-applikazzjoni titlef biss l-indikazzjoni tal-progress, mhux l-upload. Formoli moderni ġeneralment jgħoddu l-progress fil-browser xorta waħda.

## Issettja session.upload_progress.enabled fil-post it-tajjeb

L-issettjar għandu, skont il-manwal ta' PHP, il-modalità `INI_PERDIR`. Dan ifisser: jista' jiġi ssettjat fil-php.ini, fil-konfigurazzjoni tas-server, f'`.htaccess` (biss mod_php) u f'`.user.ini` (biss FPM u CGI), imma mhux waqt it-tħaddim. php.net jeskludi espliċitament `.user.ini` bħala post għall-miżura. It-tabella li ġejja turi l-postijiet sensibbli għal kull modalità tat-tħaddim.

| Modalità tat-tħaddim | Post rakkomandat | Jibblokka kontra sostituzzjoni? | Imbagħad erġa' ibda |
|---|---|---|---|
| PHP-FPM | fajl tal-pool b'`php_admin_flag` | iva | kull servizz FPM |
| PHP-FPM | php.ini tas-SAPI FPM | le, `.user.ini` tista' tegħlebha | kull servizz FPM |
| Apache b'mod_php | VirtualHost jew konfigurazzjoni tas-server b'`php_admin_flag` | iva | Apache kompletament |
| php-cgi, LiteSpeed, FrankenPHP | php.ini tar-runtime rispettiv | ivverifika skont l-istruttura | il-proċessi kollha tar-runtime |
| Image Docker | fajl proprju f'`/usr/local/etc/php/conf.d/` mal-bini | iva, jekk ma jkun permess l-ebda override | oħloq il-container mill-ġdid |

Iż-żewġ varjanti robusti jidhru hekk:

```ini
; PHP-FPM, pereżempju /etc/php/8.3/fpm/pool.d/seite1.conf
php_admin_flag[session.upload_progress.enabled] = off
```

```apache
# Apache b'mod_php, fil-VirtualHost jew fuq is-server kollu
<IfModule php_module>
    php_admin_flag session.upload_progress.enabled off
</IfModule>
```

Barra minn hekk jixraq id-daħla fil-php.ini ta' kull SAPI tal-web bħala valur bażiku. Allura l-issettjar japplika wkoll għal pools ġodda li xi ħadd joħloq aktar tard. Għaliex `php_admin_flag` jagħmel id-differenza jiddeskrivih l-artikolu [php_admin_value: ibblokka l-issettjar kontra sostituzzjoni](https://phpsos.de/mt/blog/php-admin-value-sperren/).

## Ivverifika l-effettività fil-kuntest tal-web

Il-linja tal-kmand ħafna drabi taqra php.ini differenti minn dik tas-server tal-web. `php -i` għalhekk jipprova ftit. Anke `php-fpm8.3 -i` juri biss il-valuri tal-php.ini, mhux id-daħliet mill-pools. Affidabbli hija biss talba li tgħaddi fil-fatt mill-pool.

Hekk tipproċedi:

1. Erġa' ibda s-servizzi kollha ta' PHP, pereżempju `systemctl restart php8.3-fpm` jew Apache ma' mod_php. Mingħajr restart il-valur il-qadim ikompli jaħdem.
2. Poġġi fl-webroot fajl qasir ta' verifika b'isem każwali, li juri biss il-valur attwali.
3. Iftaħ il-fajl darba permezz tad-dominju veru u innota r-riżultat.
4. Ħassar il-fajl minnufih u erġa' agħmel il-pass għal kull websajt u kull pool.

```php
<?php
// Fajl ta' verifika: poġġih biss għal ftit, imbagħad ħassru minnufih
header('Content-Type: text/plain');
echo 'session.upload_progress.enabled = ', var_export(ini_get('session.upload_progress.enabled'), true), "\n";
echo 'PHP ', PHP_VERSION, ' / SAPI ', PHP_SAPI, "\n";
```

Jiġi mistenni valur vojt jew `'0'`. Jekk hemm `'1'`, l-issettjar tiegħek ma jaħdimx f'dan il-pool. Wara aġġornament ta' PHP ivverifika wkoll jekk il-workers kollha ġewx mibdija mill-ġdid, kif deskritt f'[Erġa' ibda PHP-FPM u l-workers kollha](https://phpsos.de/mt/php2shell/php-fpm-neustart/).

> **Importanti:**
> Qatt tħalli fajls ta' verifika. Jiżvelaw verżjonijiet u konfigurazzjoni u huma mira favorita ta' skans awtomatiċi.

## Biex l-issettjar jibqa' permanenti

Il-biċċa l-kbira tar-rilaps ma jiġux mill-attakkanti, imma mill-operat. Pool ġdid jiġi kkupjat minn mudell qadim, aġġornament ta' pakkett joħloq php.ini ġdida, jew xi ħadd jibdel il-verżjoni ta' PHP fil-panel tal-hosting. Kontra rilaps bħal dawn jgħinu drawwiet fissi.

- **Kopri l-verżjonijiet kollha:** fuq ħafna servers jaħdmu diversi verżjonijiet ta' PHP b'mod parallel. Kull waħda għandha folders ta' konfigurazzjoni proprji u teħtieġ id-daħla.
- **Adatta l-mudelli:** mudelli ta' pools, rwoli Ansible, Dockerfiles u mudelli tal-panel jinkludu l-valur, biex websajts ġodda jirtuh awtomatikament.
- **Uża l-issettjar tal-panel:** f'panels tal-hosting il-valur jappartjeni fid-direttivi addizzjonali previsti mill-panel, inkella l-bidla li jmiss tikteb fuq ix-xogħol bl-idejn.
- **Ivverifika wara l-aġġornamenti:** il-verifika mit-taqsima ta' qabel tappartjeni fil-lista ta' kontroll ta' kull aġġornament ta' PHP.
- **Iddokumenta:** żomm id-data, is-server, il-pools u r-riżultat. Dan jgħin aktar tard quddiem id-direzzjoni, l-assigurazzjoni jew l-awdituri.

Min ma juża `.user.ini` xejn jista' jitfi għal kollox il-qari ta' fajls bħal dawn b'`user_ini.filename =` fil-php.ini. Imma dan jaffettwa l-issettjar kollu li l-applikazzjonijiet iżommu hemmhekk. Ittestja dan il-pass għalhekk qabel, speċjalment b'CMS li jiktbu fajls `.user.ini` proprji.

Il-miżuri tranżitorji l-oħra ta' php.net, bħal-limiti għal `post_max_size` u l-limitu tal-memorja permezz ta' cgroup, jinsabu miġbura taħt [Miżuri immedjati meta ma tistax tippatchja għadek](https://phpsos.de/mt/php2shell/sofortmassnahmen-ohne-patch/). Kif PHP jorganizza fil-prinċipju l-livelli tal-konfigurazzjoni jispjegah [Il-php.ini spjegat](https://phpsos.de/mt/php/php-ini-erklaert/).

## Kif tgħin PHP SOS b'mod konkret?

- **Ħu inventarju:** niddeterminaw il-verżjonijiet kollha ta' PHP, il-modalitajiet tat-tħaddim u l-pools fuq is-servers tiegħek u naqraw il-valuri effettivi fil-kuntest tal-web.
- **Issettja nadif:** nidħlu l-issettjar imblukkat fil-pools u fil-konfigurazzjoni tas-server u nerġgħu nibdew il-workers kollha b'mod ikkontrollat.
- **Ittestja l-funzjoni:** nivverifikaw formoli tal-upload u l-ġestjoni tal-midja wara l-bidla.
- **Evita r-rilaps:** nadattaw mudelli, deployments u issettjar tal-panel u niddokumentaw l-istat bħala parti mit-[Tisħiħ tas-server](https://phpsos.de/mt/leistungen/server-haertung/).


## Mistoqsijiet frekwenti

**Għaliex session.upload_progress.enabled=0 ma jaħdimx permezz ta' ini_set()?**  
Skont il-manwal ta' PHP, l-issettjar jappartjeni għall-modalità INI_PERDIR. Għalhekk ma jistax jinbidel waqt it-tħaddim b'ini_set(). php.net isemmi bħala postijiet korretti l-php.ini, il-pool FPM jew il-konfigurazzjoni tas-server u jeskludi espliċitament .user.ini.

**L-uploads ta' fajls għadhom jaħdmu wara t-tfixkil?**  
Iva. Jitwaqqaf biss ir-rapport tal-progress li PHP jikteb fis-session waqt upload. L-upload innifsu jkompli. Huma affettwati biss applikazzjonijiet li jibnu l-bar tal-progress tagħhom eżattament permezz ta' din il-funzjoni ta' PHP.

**Applikazzjoni tista' terġa' tixgħel il-funzjoni?**  
Permezz ta' fajl .htaccess ma' mod_php jew .user.ini ma' PHP-FPM dan bażikament huwa possibbli, sakemm il-valur ma jkunx imblukkat. B'php_admin_flag fil-pool jew fil-konfigurazzjoni ta' Apache tipprevjeni dan.

**Għandi nerġa' nreġġa' lura l-valur wara l-aġġornament li jmiss ta' PHP?**  
Le, dan mhuwiex meħtieġ. Il-funzjoni mhijiex meħtieġa mill-biċċa l-kbira tal-applikazzjonijiet, u l-manwal ta' PHP innifsu jirrakkomanda li titfa f'każijiet bħal dawn. Ivverifika biss wara kull aġġornament jekk il-valur għadux japplika.

## Sorsi

- [php.net: avviżi tas-sigurtà](https://www.php.net/)
- [Manwal ta' PHP: konfigurazzjoni tas-session](https://www.php.net/manual/en/session.configuration.php)
- [Manwal ta' PHP: fajls .user.ini](https://www.php.net/manual/en/configuration.file.per-user.php)
