Sitwazzjoni attwali: PHP2Shell. Żewġ vulnerabbiltajiet kritiċi ta' PHP (CVSS 9,2) jippermettu kodiċi malizzjuż mingħajr login. Patches mill-21/10/2026.X'għandu jsir issa →

Nifhmu l-estensjonijiet (Extensions) ta' PHP

L-estensjonijiet iġibu drivers tad-database, ċifrar jew caches f'PHP. Hekk jiddifferenzjaw it-tipi, hekk tgħabbuhom u tivverifikawhom, u x'jfissru għall-aġġornamenti u t-tisħiħ.

Stat 5 min. qariGħarfien dwar PHP

Fil-qosor: L-estensjonijiet (Extensions) ta' PHP huma moduli bl-C li jżidu funzjonijiet ma' PHP, pereżempju drivers tad-database (PDO), ċifrar (Sodium, OpenSSL) jew il-cache tal-bytecode OPcache. Il-manwal ta' PHP jiddistingwi bejn estensjonijiet Core, Bundled, External u PECL. Jitgħabbew permezz ta' extension jew zend_extension fil-php.ini. Kull estensjoni taħdem fil-proċess ta' PHP bid-drittijiet tiegħu. Għalhekk japplika: għabbu biss dak li jinħtieġ, u aġġornawh flimkien ma' PHP.

X'inhuma l-PHP Extensions?

Il-qalba ta' PHP, iz-Zend Engine, tista' tesegwixxi kodiċi, imma ħafna minn dak li jeħtieġu l-applikazzjonijiet jinsab fl-estensjonijiet. Huma miktuba bl-C u jew jiġu kkompilati direttament f'PHP jew jitgħabbew meta tibda bħala librerija kondiviża (.so taħt Linux, .dll taħt Windows).

Importanti għal min jieħu d-deċiżjonijiet: l-estensjonijiet mhumiex plugins tal-applikazzjoni, imma parti mir-runtime ta' PHP. Jiġu installati mill-hoster jew mill-amministratur tas-server, mhux mill-aġenzija fiċ-CMS. Jekk estensjoni tonqos, l-applikazzjoni normalment tirrapporta żball waqt l-installazzjoni jew l-aġġornament.

Ukoll importanti hi d-distinzjoni mill-pakketti ta' Composer. Composer jinstalla libreriji miktuba bi PHP u li jinsabu fil-folder tal-proġett, pereżempju pakkett tal-posta jew tal-PDF. L-estensjonijiet min-naħa l-oħra huma kodiċi kkompilat li jitgħabba meta tibda PHP u japplika għall-applikazzjonijiet kollha fuq is-server. Ħafna pakketti ta' Composer jippreżupponu estensjonijiet speċifiċi u jinnotaw dan fil-composer.json tagħhom b'entrati bħal ext-intl jew ext-sodium. Min irid jivverifika jekk proġett isibx l-estensjonijiet meħtieġa kollha, jista' jesegwixxi composer check-platform-reqs fil-folder tal-proġett.

Liema tipi ta' estensjonijiet hemm?

Il-manwal ta' PHP jassenja l-estensjonijiet lil erba' gruppi:

Grupp Tifsira skont il-manwal Eżempji mill-manwal
Core Parti mill-qalba ta' PHP, ma jistgħux jintefgħu Arrays, Date/Time, Hash, JSON, PCRE, SPL, Strings
Bundled fornuti ma' PHP BC Math, Ctype, Fileinfo, Filter, GD, intl, mbstring, PDO, Sessions
External fornuti ma' PHP, jeħtieġu libreriji esterni cURL, DOM, GMP, LDAP, OpenSSL, Sodium, Zip
PECL disponibbli permezz ta' PECL, xi wħud b'libreriji esterni APCu, Memcached, MongoDB, Yaml

L-assenjazzjoni tista' tinbidel. Ma' PHP 8.4, skont il-paġna tar-rilaxx, l-estensjonijiet IMAP, OCI8, PDO_OCI u pspell tneħħew mill-pakkett fornut u ġew imċaqalqa għal PECL. Min jużahom jeħtieġ wara l-aġġornament installazzjoni separata, li wkoll trid tinżamm.

Kif jitgħabbew l-estensjonijiet?

Estensjonijiet kondiviżi jitgħabbew, skont il-manwal, permezz tad-direttiva extension fil-php.ini; estensjonijiet Zend, li jidħlu aktar fil-fond fl-engine, permezz ta' zend_extension. It-tnejn jistgħu jkunu biss fil-php.ini. Id-direttorju jiddefinih extension_dir, li għalih il-manwal jirrakkomanda mogħdija assoluta.

; estensjonijiet normali
extension=pdo_mysql
extension=sodium
extension=intl

; Estensjoni Zend: OPcache (għabbiha qabel Xdebug, jekk it-tnejn huma attivi)
zend_extension=opcache

Distribuzzjonijiet bħal Debian u Ubuntu jpoġġu għal kull estensjoni fajl żgħir .ini proprju fid-direttorju tal-iskanjar, pereżempju taħt /etc/php/8.3/mods-available/, u jattivawha għal kull SAPI b'phpenmod u phpdismod. Kif PHP taqra dawn il-fajls jispjega Il-php.ini spjegata.

L-estensjonijiet normalment jiġu installati permezz tal-ġestjoni tal-pakketti, pereżempju bħala pakkett php8.3-intl. L-estensjonijiet PECL jistgħu jinbnew b'pecl jew phpize. Skont il-manwal PECL huwa iddeprekat; jiġi rrakkomandat il-PHP Installer for Extensions (PIE). Min jibni PHP kompletament waħdu jsib indikazzjonijiet taħt Kompilazzjoni ta' PHP mill-kodiċi sors.

Verifika tal-estensjonijiet: liema huma verament imgħobbija?

Il-kmandi li ġejjin huma għall-qari biss. Innotaw li l-linja tal-kmand tista' tgħabbi estensjonijiet differenti mill-websajt.

php -m                              # Moduli tas-CLI
php-fpm8.3 -m                       # Moduli ta' PHP-FPM 8.3 (l-isem jiddependi mid-distribuzzjoni)
php --re sodium | head -n 5         # Funzjonijiet ta' estensjoni
php --ri opcache                    # Konfigurazzjoni ta' estensjoni
php -r 'var_dump(extension_loaded("intl"));'

Fil-kodiċi l-applikazzjonijiet jivverifikaw b'extension_loaded() jekk estensjoni hijiex preżenti, u b'get_loaded_extensions() liema huma mgħobbija:

<?php
$benoetigt = ['pdo_mysql', 'mbstring', 'intl', 'sodium'];
$fehlend = array_diff($benoetigt, array_map('strtolower', get_loaded_extensions()));
echo $fehlend ? 'Fehlt: ' . implode(', ', $fehlend) : 'Alle Erweiterungen vorhanden';

Estensjonijiet u sigurtà: inqas huwa aktar

L-estensjonijiet jaħdmu fl-istess proċess bħal PHP u bl-istess drittijiet. Żball f'estensjoni jista' għalhekk jiżen daqs żball fil-qalba. Minn dan joħorġu erba' regoli:

  1. Għabbu biss dak li jinħtieġ. Kull estensjoni addizzjonali tkabbar il-wiċċ ta' attakk. Ivverifikaw il-lista tagħkom kontra r-rekwiżiti tas-sistema tal-applikazzjoni.
  2. Aġġornawhom flimkien ma' PHP. Estensjonijiet fornuti jiġu mal-aġġornament ta' PHP. Estensjonijiet PECL u ta' terzi jeħtieġu aġġornamenti proprji u jridu jaqblu mal-verżjoni l-ġdida ta' PHP.
  3. Għodod tal-iżvilupp mhux fil-produzzjoni. Debuggers u profilers bħal Xdebug jappartjenu biss fl-ambjenti tal-iżvilupp.
  4. Issakkru l-funzjonijiet b'mod immirat. Fejn l-estensjonijiet iġibu funzjonijiet għal kmandi tas-sistema, jgħin Kif tużaw disable_functions sew.

Ma' PHP2Shell il-vulnerabbiltajiet jinsabu fil-qalba ta' PHP, mhux f'estensjoni. It-twaqqif ta' moduli ma jagħlaqhomx; meħtieġ huwa l-aġġornament għal 8.5.12, 8.4.27, 8.3.36 jew 8.2.35 b'restart tal-proċessi kollha ta' PHP. Wara l-aġġornament għandkom tivverifikaw jekk l-estensjonijiet kollha jerġgħux jitgħabbew, għax moduli nieqsa spiss jidhru biss ma' ċerti funzjonijiet. Kif iżżommu d-dipendenzi taħt kontroll fit-tul jiddeskrivi Żommu d-dipendenzi aġġornati.

Kif jgħin PHP SOS konkretament?

  • Niġbru l-inventarju: Nelenkaw għal kull SAPI l-estensjonijiet mgħobbija kollha bl-oriġini u l-verżjoni.
  • Ninnaddfu: Nqabblu l-lista mal-ħtieġa tal-applikazzjoni tagħkom u niddeżattivaw dak żejjed wara test.
  • Naġġornaw: Fil-qafas tal-tisħiħ tas-server inġibu lil PHP u l-estensjonijiet kollha ta' terzi fuq stat aġġornat.
  • Nivverifikaw wara l-aġġornamenti: Nikkontrollaw li wara kull aġġornament ta' PHP il-moduli meħtieġa kollha jerġgħu jkunu mgħobbija.

Mistoqsijiet frekwenti

X'inhi d-differenza bejn extension u zend_extension?

B'extension PHP tgħabbi estensjonijiet normali bħal drivers tad-database. B'zend_extension, skont il-manwal, jitgħabbew estensjonijiet Zend li jidħlu aktar fil-fond fl-engine, pereżempju OPcache jew Xdebug. Iż-żewġ direttivi jistgħu jkunu biss fil-php.ini.

Kif nara liema estensjonijiet huma mgħobbija?

Fuq il-linja tal-kmand b'php -m, għall-websajt permezz tal-funzjoni get_loaded_extensions() f'fajl ta' verifika għal żmien qasir jew permezz ta' php-fpm -m tal-verżjoni rispettiva. Innotaw li s-CLI u s-SAPI tal-web jistgħu jgħabbu estensjonijiet differenti.

X'inhu PECL u x'inhu PIE?

PECL huwa direttorju ta' estensjonijiet ta' PHP li jiġu pprovduti permezz tas-sistema tal-pakketti PEAR. Skont il-manwal ta' PHP, PECL huwa iddeprekat; minflok jiġi rrakkomandat il-PHP Installer for Extensions (PIE).

It-twaqqif ta' estensjoni jagħlaq PHP2Shell?

Le. Il-vulnerabbiltajiet ta' PHP2Shell jinsabu fil-qalba ta' PHP, mhux f'estensjoni li tista' titwaqqaf. Inqas estensjonijiet inaqqsu l-wiċċ ta' attakk b'mod ġenerali, imma ma jissostitwux l-aġġornament għal verżjoni rranġata.

Sorsi

Kuntatt immedjat

Kull siegħa tgħodd. Iktbu lilna issa.

Iddeskrivu fil-qosor is-sistema, il-verżjoni ta' PHP u dak li osservajtu. Nikkuntattjawkom, niċċaraw is-sitwazzjoni u naħdmu mill-bogħod sakemm l-inċident jingħalaq u jiġi ddokumentat.

Għajnuna immedjata