# Ipproteġi sewwa d-dettalji tal-aċċess u l-fajls .env

> Ipproteġi l-fajl .env: webroot korrett, blokki fis-server tal-web, drittijiet dojoq tal-fajls, l-ebda secrets f'Git u skambju wara inċident ta' sigurtà.

Sors: https://phpsos.de/mt/blog/env-dateien-schuetzen/  
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:** Fajl .env tipproteġuh billi ma jkunx fid-direttorju aċċessibbli pubblikament fl-ewwel lok: il-webroot juri lejn sottofolder bħal `public/`, il-konfigurazzjoni tkun livell fuqu. Barra minn hekk is-server tal-web jibblokka l-fajls kollha bi punt fil-bidu, il-fajl jinqara biss mis-sid u mill-proċess ta' PHP u qatt ma jappartjeni fir-repository ta' Git. Wara dħul, id-dettalji tal-aċċess kollha fih jitqiesu magħrufa u jinbidlu.

## Il-fajl bliċ-ċwievet tad-dar

Proġetti PHP moderni jħobbu jpoġġu s-sigrieti tagħhom f'fajl bl-isem `.env`: password tad-database, aċċess għas-server tal-posta, ċwievet tal-API għal servizzi tal-ħlas u tal-konsenja, iċ-ċavetta li biha l-applikazzjoni tiffirma cookies. Frameworks bħal Laravel u Symfony jużaw dan il-mudell, ħafna żviluppi proprji adottawh.

Din hija idea tajba: il-konfigurazzjoni u l-kodiċi huma separati, u kull ambjent jirċievi valuri proprji. Isir perikoluż meta l-fajl jispiċċa fid-direttorju ħażin. Jekk jinsab fil-webroot u s-server tal-web ma jibblokkahx, sejħa waħda fil-browser hija biżżejjed biex jinqraw l-aċċessi kollha f'daqqa.

Ta' dan jiżdiedu varjanti b'ismijiet oħra: `.env.local`, `.env.production`, `config.local.php` jew fajls b'dettalji tal-aċċess għal servizzi ta' ħażna. Dak li hawnhekk huwa deskritt għal `.env` japplika għall-fajls kollha li fihom sigrieti.

Fajls bħal dawn jiġu mfittxija kontinwament minn scanners awtomatizzati. Din mhix speċjalità ta' attakkanti individwali, imma storbju tal-isfond fl-internet, simili għall-iscans bil-massa għal verżjonijiet ta' PHP mhux ippatchjati.

## Fejn għandu jkun il-fajl .env

L-aktar miżura effettiva hija strutturali: is-server tal-web għandu jagħti biss il-folder li fil-fatt għandu jkun pubbliku. Fi Laravel u Symfony dan huwa l-folder `public/`. Kull ħaġa oħra, jiġifieri kodiċi, konfigurazzjoni, logs u `.env`, tinsab fuqu u ma tistax tiġi indirizzata permezz ta' HTTP xejn.

```text
/srv/www/shop/
├── .env              ← mhux aċċessibbli
├── config/
├── src/
├── vendor/
└── public/           ← l-uniku webroot
    ├── index.php
    └── assets/
```

Fil-prattika l-webroot madankollu spiss juri lejn id-direttorju tal-proġett innifsu, pereżempju għax panel tal-hosting jiddikjara hekk jew għax waqt trasferiment mogħdija ma ġietx adattata. Ivverifikaw għalhekk fil-konfigurazzjoni tas-server tal-web jew fil-panel lejn fejn juri `root` rispettivament `DocumentRoot`.

## Ipproteġi l-fajl .env: blokk fis-server tal-web bħala t-tieni linja

Jekk il-webroot ma jistax jinbidel, jew jekk tridu sigurtà addizzjonali, ibblukkaw il-fajls moħbija fis-server tal-web. Il-folder `.well-known` irid jibqa' aċċessibbli, għax jintuża fost oħrajn għall-ħruġ ta' ċertifikati.

```nginx
# Ibblokka l-fajls u l-folders kollha bi punt fil-bidu, ħlief .well-known
location ~ /\.(?!well-known/) {
    deny all;
    return 404;
}
```

```apache
# Ibblokka fajls bi punt fil-bidu
<FilesMatch "^\.">
    Require all denied
</FilesMatch>
```

Tweġiba b'404 minflok 403 ma tiżvelax li l-fajl jeżisti. Jekk il-blokk jaħdimx tivverifikawh mill-barra:

```bash
# Mistenni: 403 jew 404, qatt 200
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.de/.env
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.de/.env.example
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.de/.env.bak
```

L-aħħar żewġ linji mhumiex kumbinazzjoni: kopji bħal `.env.bak` jew `.env.old` jinħolqu waqt xogħlijiet ta' manutenzjoni u spiss jintnesew. Aktar dwar bqijiet bħal dawn insibu f'[Fajls tal-backup fil-webroot](https://phpsos.de/mt/blog/backup-dateien-im-webroot/).

## Drittijiet, Git u t-trattament tal-kopji

Anke barra mill-webroot japplika l-prinċipju tad-drittijiet minimi. Qasma mgħarrba:

1. **Is-sid** huwa l-utent tad-deployment, mhux il-proċess ta' PHP.
2. **Il-grupp** huwa l-grupp tal-pool ta' PHP-FPM, li jista' jaqra biss; drittijiet `640`.
3. **L-ebda aċċess ta' kitba** għall-proċess ta' PHP. Applikazzjoni m'għandhiex bżonn tibdel id-dettalji tal-aċċess proprji.
4. **L-ebda valuri veri fir-repository:** Biss `.env.example` b'placeholders jiddaħħal, il-fajl veru jinsab f'`.gitignore`.
5. **Valuri separati għal kull ambjent:** Żvilupp, staging u produzzjoni jużaw aċċessi differenti, biex tnixxija f'ambjent tat-test ma tiftaħx il-produzzjoni.

```bash
chown deploy:shop-php /srv/www/shop/.env
chmod 640 /srv/www/shop/.env
# Ivverifika jekk il-fajl qatt ġiex ikkummittjat
git log --all --oneline -- .env
```

Oqogħdu attenti wkoll għal paġni ta' żbalji. Frameworks fil-modalità tad-debug xi kultant juru variabbli tal-ambjent u valuri tal-konfigurazzjoni; fuq sistema tal-produzzjoni din il-modalità trid tkun mitfija. Ivverifikaw dan wara kull deployment, għax valur ħażin fl-`.env` innifsu jista' jerġa' jixgħelha.

Jekk l-aħħar kmand jagħti hits, id-dettalji tal-aċċess jinsabu fl-istorja ta' Git u jitqiesu esposti, anke jekk il-fajl illum ma jeżistix. Għaliex dan huwa partikolarment delikat meta l-folder `.git` jinsab fuq is-server jiddeskrivi [Folder .git pubbliku: tnixxija ta' data li tiġi sottovalutata](https://phpsos.de/mt/blog/git-ordner-oeffentlich/). Tagħrif bażiku dwar drittijiet jispjega l-gwida [Drittijiet tal-fajls fuq is-server tal-web](https://phpsos.de/mt/ratgeber/dateirechte-webserver/).

> **Importanti:**
> Fajls tat-test b'`phpinfo()` juru variabbli tal-ambjent. Min jgħaddi s-sigrieti bħala variabbli tal-ambjent jiżvelahom permezz ta' fajl tat-test minsi. L-isfond jinsab f'[Fajls phpinfo(): għaliex iridu jisparixxu](https://phpsos.de/mt/blog/phpinfo-dateien-entfernen/).

## Wara dħul: biddlu d-dettalji tal-aċċess

L-ebda blokk ma jipproteġi minn attakkant li diġà jesegwixxi kodiċi fuq is-server. Proċess ta' PHP irid jaqra l-konfigurazzjoni tiegħu, għalhekk kodiċi daħħal bil-moħbi fl-istess proċess jista' jagħmel dan ukoll. Wara PHP2Shell għalhekk japplika: jekk dħul ma jistax jiġi eskluż, id-dettalji tal-aċċess kollha fuq is-server għandhom jiġu ttrattati bħala magħrufa.

Skambju ordnat jinkludi passwords tad-database, aċċessi tal-posta u SMTP, ċwievet tal-API ta' servizzi esterni, ċwievet tal-firma tal-applikazzjoni u aċċessi għal servizzi ta' ħażna. L-ordni u l-mument għandhom jiġu ppjanati: min jibdel l-ewwel u mbagħad inaddaf is-server, jista' jagħti l-valuri l-ġodda lill-attakkant magħhom.

Id-dannu ta' tnixxija tillimitawh minn qabel, billi kull sigriet jista' biss daqs kemm hu meħtieġ. L-utent tad-database tal-websajt ma jeħtieġx drittijiet fuq databases oħra. Ċwievet tal-API ta' servizzi esterni għand ħafna fornituri jistgħu jiġu llimitati għal funzjonijiet individwali jew indirizzi tal-mittent, pereżempju joħolqu konsenji imma ma jibdewx ħlasijiet ħerġin. U kull applikazzjoni tirċievi aċċessi proprji, minflok ma diversi websajts jaqsmu l-istess kont tal-posta jew l-istess ċavetta. Imbagħad tnixxija taffettwa qasam ċar u ddelimitat, u l-iskambju jibqa' maniġġabbli.

F'ambjenti ta' containers il-fajl `.env` ma jappartjenix la fl-immaġni u lanqas f'registry aċċessibbli pubblikament. Eskludu b'`.dockerignore` u għaddu s-sigrieti biss waqt it-tħaddim permezz tal-mekkaniżmi tal-pjattaforma.

Fit-tul jixraq li titfgħu ħarsa lejn ħażniet ċentrali tas-secrets, kif jirrakkomanda OWASP: sigrieti f'post wieħed, b'protokoll tal-aċċess, skambju regolari u validità kemm jista' jkun qasira.

## Kif tgħin PHP SOS b'mod konkret?

- Niċċekkjaw mill-barra jekk fajls ta' konfigurazzjoni, kopji u fajls moħbija tal-websajts tagħkom jistgħux jinġiebu.
- Nibdlu l-webroot, il-blokki tas-server tal-web u d-drittijiet tal-fajls b'mod li s-sigrieti ma jibqgħux aċċessibbli permezz ta' HTTP.
- Nivverifikaw repositories u deployments għal dettalji tal-aċċess ikkummittjati.
- Wara inċident nippjanaw u nakkumpanjaw l-iskambju tal-aċċessi kollha affettwati fl-ordni t-tajba.

Dawn ix-xogħlijiet huma parti mill-[Hardening tas-server għal servers tal-web PHP](https://phpsos.de/mt/leistungen/server-haertung/) tagħna.


## Mistoqsijiet frekwenti

**Fajl .env fil-webroot huwa awtomatikament pubbliku?**  
Mhux awtomatikament, imma spiss. Jekk jistax jinġieb jiddependi mill-konfigurazzjoni tas-server tal-web. Ħafna konfigurazzjonijiet awtomatiċi jipproteġu biss fajls .htaccess, mhux fajls oħra bi punt fil-bidu. Test b'curl jagħti ċarezza.

**Variabbli tal-ambjent huma aktar siguri minn fajl .env?**  
Mhux bħala regola. OWASP jindika li l-variabbli tal-ambjent jinqraw mill-proċessi kollha tal-utent u jistgħu jidhru f'logs jew f'dumps tal-memorja. Jevitaw, madankollu, fajl fil-webroot. Aħjar huma ħażniet ċentrali tas-secrets, fejn l-ambjent jappoġġjahom.

**X'għandi nagħmel jekk il-fajl .env kien jista' jinġieb?**  
Qisu d-dettalji tal-aċċess kollha fih magħrufa u biddluhom: database, posta, APIs, servizzi tal-ħlas, ċwievet tal-applikazzjoni. Wara ivverifikaw fil-protokolli tal-aċċess jekk il-fajl ġiex mitlub, u jekk hemm data personali kunsidraw l-uffiċjal tal-protezzjoni tad-data.

**Il-fajl .env jappartjeni fir-repository ta' Git?**  
Le. Fir-repository jappartjeni l-aktar mudell mingħajr valuri veri, pereżempju .env.example. Il-fajl veru jiġi eskluż permezz ta' .gitignore u jingħata separatament fuq is-server.

**phpinfo() jista' jiżvela dettalji tal-aċċess?**  
Iva. phpinfo() juri fost oħrajn variabbli tal-ambjent u tas-server. Jekk is-sigrieti jinsabu hemm, jintwerew magħhom. Fajls tat-test b'phpinfo() għalhekk qatt m'għandhom jinsabu fuq sistema aċċessibbli.

## Sorsi

- [OWASP Secrets Management Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html)
- [Dokumentazzjoni ta' Nginx](https://nginx.org/en/docs/)
- [Apache HTTP Server: dokumentazzjoni](https://httpd.apache.org/docs/)
