# Code review tas-sigurtà għal proġetti PHP

> Code review tas-sigurtà għal PHP: baseline jew diff, funzjonijiet riskjużi, għodod bħal PHPStan u Psalm u checklist għat-tim proprju.

Sors: https://phpsos.de/mt/blog/sicherheits-code-review-php/  
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:** Code review tas-sigurtà għal PHP huwa l-qari mmirat tal-kodiċi sors b'mistoqsija waħda: Fejn jistgħu inputs barranin jagħmlu xi ħaġa li m'għandhomx permess jagħmlu? Żewġ forom wrew li jaħdmu, review ta' kull bidla u review bażiku tal-proġett kollu, sostnuti minn analiżi statika b'PHPStan jew Psalm. Vulnerabbiltajiet fl-interpretatur ta' PHP bħal PHP2Shell review ma jsibhomx, imma jsib l-ħafna żbalji li jinħolqu fil-kodiċi proprju.

## Għaliex issa nħarsu lejn il-kodiċi proprju?

PHP2Shell fl-aħħar ġimgħa ta' Ottubru 2026 okkupa l-aktar l-admins. Patchjar, restart, prova: ix-xogħol kien fuq is-server. Għat-timijiet tal-iżvilupp tibqa' wara mistoqsija skomda. Jekk attakkant jista' jesegwixxi kodiċi permezz ta' vulnerabbiltà oħra, x'jsib fl-applikazzjoni tagħna? U kemm minn dawn il-vulnerabbiltajiet kiteb hu stess?

L-OWASP Top 10 juru għal snin li l-biċċa l-kbira tad-dgħufijiet f'applikazzjonijiet tal-web mhumiex eżotiċi. Kontroll tal-aċċess nieqes, injection u konfigurazzjoni mhux sigura huma fuq nett. Dawn huma żbalji li ħarsa mħarrġa tara fil-kodiċi sors, ħafna qabel ma attakkant jipprovahom.

Ta' dan jiżdied raġuni prattika. Ħafna kumpaniji bħalissa xorta waħda qed jivverifikaw, jippatchjaw u jsaħħu s-servers tagħhom. Min iħares lejn l-applikazzjoni proprja fl-istess ħin, jagħlaq il-lakuna bejn l-operat u l-iżvilupp. Server imsaħħaħ b'applikazzjoni vulnerabbli jibqa' attakkabbli, u applikazzjoni miktuba sewwa fuq PHP mhux ippatchjat l-istess.

## Review bażiku jew review tal-bidliet?

Il-OWASP Cheat Sheet dwar is-Secure Code Review jiddistingwi żewġ tipi li fil-prattika jikkumplimentaw lil xulxin:

| Tip | Meta | Ambitu | Għan |
|---|---|---|---|
| Review bażiku (Baseline) | proġett ġdid, release kbir, wara inċident | proġett kollu, imwieżen skont ir-riskju | tirreġistra l-istokk ta' vulnerabbiltajiet |
| Review tal-bidliet (Diff) | kull pull request | biss kodiċi mibdul | tevita żbalji ġodda |

Review bażiku wara inċident huwa partikolarment prezzjuż. Min għadu kemm naddaf server għandu jaf jekk l-applikazzjoni toffrix swali oħra ta' dħul. Ir-review tal-bidliet iżomm l-istat nadif wara, għax kull bidla qabel tingħaqad jinqara wkoll mil-lat tas-sigurtà.

## Code review f'PHP: fejn jinġabru l-iżbalji tas-sigurtà

Fi proġetti PHP jixraq li titfgħu ħarsa mmirata lejn ċerti funzjonijiet u mudelli. Mhumiex projbiti, imma kull post misjub jistħoqqlu l-mistoqsija jekk data barranija tistax tidħol fih.

| Mudell fil-kodiċi | Riskju possibbli | Tkomplija |
|---|---|---|
| SQL b'konkatenazzjoni ta' strings b'varjabbli | SQL injection | [Evita SQL Injection f'PHP](https://phpsos.de/mt/ratgeber/sql-injection-php/) |
| `unserialize()` fuq data minn barra | Injection ta' oġġetti | [Deserjalizzazzjoni mhux sigura f'PHP](https://phpsos.de/mt/ratgeber/deserialisierung-php/) |
| `include` jew `require` b'mogħdija varjabbli | Inklużjoni ta' fajls barranin | [Evita Local u Remote File Inclusion](https://phpsos.de/mt/ratgeber/lfi-rfi/) |
| `exec()`, `system()`, `shell_exec()`, `proc_open()` | Eżekuzzjoni ta' kmandi | Command Injection |
| Output mingħajr `htmlspecialchars()` | Cross-Site Scripting | escaping skont il-kuntest |
| `==` b'tokens jew hashes | Konverżjoni tat-tip tevita verifiki | `hash_equals()`, tqabbil strett |
| `eval()`, `extract()` fuq inputs | Injection ta' kodiċi jew ta' varjabbli | ġeneralment neħħihom mingħajr sostitut |

Ħarsa ġenerali inizjali mgħaġġla tirnexxi b'tfittxija sempliċi. Ma tissostitwix review, imma turi fejn għandu jinbeda:

```bash
# Postijiet ta' funzjonijiet riskjużi fil-kodiċi proprju (vendor eskluż)
grep -rnE "\b(unserialize|eval|extract|shell_exec|exec|system|passthru|proc_open)\s*\(" src/ app/ 2>/dev/null
```

Mill-inqas daqstant importanti hu dak li jonqos fil-kodiċi. Kull controller jivverifika jekk l-utent imdaħħal jistax jara jew ibiddel eżattament dan ir-rekord? L-uploads huma llimitati għat-tip u l-post tal-ħażna? Vulnerabbiltajiet bħal dawn ebda tfittxija għal ismijiet ta' funzjonijiet ma ssibhom, biss il-qari tal-fluss.

## Għodod li jġorru r-review

L-analiżi statika tivverifika l-kodiċi mingħajr ma teżegwih. PHPStan u Psalm isibu żbalji tat-tip, kodiċi mhux milħuq u suppożizzjonijiet ħżiena dwar valuri mrritornati. Psalm joffri barra minn hekk analiżi taint, li ssegwi jekk data minn talbiet tgħaddix mhux ivverifikata lejn postijiet kritiċi. It-tnejn jistgħu jiġu mqabbża pass pass, b'mod li anke proġetti aktar qodma jistgħu jibdew. Ħarsa ġenerali tagħti [Analiżi statika: PHPStan u Psalm](https://phpsos.de/mt/php/statische-analyse/).

```bash
# Analiżi statika fil-proġett, għolli l-livell pass pass
vendor/bin/phpstan analyse src --level=5
# Analiżi taint b'Psalm
vendor/bin/psalm --taint-analysis
```

L-għodod jagħtu indikazzjonijiet, mhux sentenzi. Kull hit jeħtieġ valutazzjoni, u rapport vojt ma jfissirx li l-applikazzjoni hija sigura.

Daqstant importanti daqs is-sejba hu li tinżamm. Kull sejba għandha tiġi rreġistrata b'post, deskrizzjoni qasira, stima tar-riskju, tiswija rakkomandata u status, l-aħjar direttament fis-sistema tat-tickets tat-tim. Hekk jista' jiġi segwit x'ġie rranġat, x'ġie aċċettat konxjament u x'għadu miftuħ. Wara t-tiswija jixraq it-tieni ħarsa: Il-kawża ġiet eliminata jew is-sintomu wieħed biss? L-istess mudell jidher f'postijiet oħra fil-kodiċi? Żball li sar darba, skont l-esperjenza, rarament jinsab f'post wieħed biss.

## Checklist għat-tim proprju

Għal reviews tal-bidliet lista qasira u fissa wriet li taħdem. Tappartjeni fil-mudell tal-pull requests:

1. Minn fejn jiġu d-data kollha li din il-bidla tipproċessa, u jiġu vverifikati fuq in-naħa tas-server?
2. Il-mistoqsijiet tad-database jinbnew esklussivament b'placeholders?
3. Kull output huwa escaped għall-kuntest tiegħu, jiġifieri HTML, attribut, JavaScript jew URL?
4. Il-kodiċi jivverifika d-dritt għal eżattament dan l-oġġett, mhux biss il-login?
5. Passwords, tokens jew data personali jaslu f'logs jew f'messaġġi ta' żball?
6. Hemm sigrieti fil-kodiċi jew f'fajls versjonati?
7. Ġew miżjuda dipendenzi ġodda, u huma miżmuma?

> **Suġġeriment:**
> Ħallu partijiet kritiċi għas-sigurtà bħal login, ġestjoni tad-drittijiet, proċessi tal-ħlas u uploads dejjem jinqraw minn persuna oħra li ma kinitx involuta fil-kodiċi. Il-ħarsa barranija ssib suppożizzjonijiet li l-awtur iqis ovvji.

## Kif tgħin PHP SOS b'mod konkret?

- Flimkien ma' sħab speċjalizzati nagħmlu review bażiku tal-applikazzjoni PHP tagħkom, imwieżen skont il-partijiet bl-ogħla riskju.
- Nistabbilixxu PHPStan jew Psalm adattat għall-istat tal-proġett tagħkom u niktbu l-checklist għall-pull requests tagħkom.
- Nikkombinaw ir-review ma' ħarsa lejn is-server u l-konfigurazzjoni, għax ħafna vulnerabbiltajiet jinħolqu biss fl-interazzjoni.
- Fejn tintalab verifika mill-barra, nissupplimentaw ir-review b'[awditu tas-sigurtà u test ta' penetrazzjoni](https://phpsos.de/mt/leistungen/sicherheitsaudit-penetrationstest/).

**Konklużjoni:** Code review huwa l-post l-irħas biex jiġu rranġati żbalji tas-sigurtà, jiġifieri qabel ma jitqassmu. Min janalizza kull bidla b'lista qasira u jeżamina l-proġett kompletament kultant, inaqqas il-wiċċ ta' attakk b'mod permanenti.


## Mistoqsijiet frekwenti

**X'inhi d-differenza bejn code review u test ta' penetrazzjoni?**  
Code review jaqra l-kodiċi sors u jsib żbalji qabel ma jitqassmu. Test ta' penetrazzjoni jattakka mill-barra l-applikazzjoni li taħdem. It-tnejn jikkumplimentaw lil xulxin: ir-review isib il-kawżi, it-test juri x'jista' tassew jiġi sfruttat.

**Code review isib vulnerabbiltajiet bħal PHP2Shell?**  
Le. PHP2Shell jinsab fl-interpretatur ta' PHP, mhux fil-kodiċi tal-applikazzjoni. Kontra dan jgħin biss aġġornament ta' PHP b'restart. Review isib żbalji fil-kodiċi proprju, pereżempju injection, verifiki nieqsa tad-drittijiet jew deserjalizzazzjoni mhux sigura.

**PHPStan jew Psalm huma biżżejjed għal review tas-sigurtà?**  
Huma bażi tajba u jsibu ħafna żbalji awtomatikament. Żbalji tal-loġika, verifiki nieqsa tad-drittijiet u suppożizzjonijiet ħżiena dwar il-proċessi jagħrafhom biss bniedem li jaf x'suppost tagħmel l-applikazzjoni.

**Kemm idum code review tas-sigurtà?**  
Jiddependi mill-ambitu. Review ta' kull bidla fil-pull request jieħu ftit ħin. Review komplut ta' proġett li kiber huwa proġett għalih, li jiġi llimitat skont ir-riskju għall-partijiet ewlenin.

## Sorsi

- [OWASP: Secure Code Review Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Code_Review_Cheat_Sheet.html)
- [OWASP Top 10](https://owasp.org/www-project-top-ten/)
- [PHPStan](https://phpstan.org/)
