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 →

SAPI spjegata: kif PHP titkellem mas-server tal-web

L-SAPI hija l-interface bejn PHP u s-server tal-web. Tiddetermina kif jaslu t-talbiet, liema php.ini tapplika u x'jrid jerġa' jinbeda wara aġġornament.

Stat 5 min. qariGħarfien dwar PHP

Fil-qosor: SAPI tfisser Server Application Programming Interface, l-interface li permezz tagħha PHP titkellem mal-ambjent tagħha. SAPIs tipiċi huma fpm-fcgi (PHP-FPM), apache2handler (mod_php), cgi-fcgi (php-cgi), litespeed u cli għal-linja tal-kmand. L-SAPI tiddetermina kif jaslu t-talbiet, liema php.ini tapplika u liema proċessi jridu jerġgħu jinbdew wara aġġornament. Ma' PHP2Shell saħansitra l-klassifikazzjoni tar-riskju tiddependi minnha.

X'inhi SAPI?

PHP nnifisha hija programm li jesegwixxi kodiċi. Biex tkun tista' twassal paġni tal-web, teħtieġ konnessjoni ma' server tal-web, mal-linja tal-kmand jew ma' applikazzjoni oħra. Din il-konnessjoni hija l-SAPI. Taċċetta d-dejta tat-talba, tgħaddiha liz-Zend Engine u tirritorna l-output.

Wieħed jista' jimmaġina l-SAPI bħal plagg: il-magna tibqa' l-istess, imma skont il-plagg taqbel ma' Apache, ma' Nginx permezz ta' FastCGI, ma' LiteSpeed jew mat-terminal. Kull varjant għandha l-qawwiet tagħha, mogħdijiet tal-konfigurazzjoni proprji u nases proprji.

L-SAPI tiddeċiedi fuq kollox dwar tliet affarijiet li jgħoddu fil-ħajja ta' kuljum:

  1. Mudell tal-proċessi: PHP taħdem fis-server tal-web, bħala servizz proprju b'workers permanenti jew bħala proċess ta' ħajja qasira għal kull sejħa?
  2. Konfigurazzjoni: Liema php.ini tinqara, u fejn jistgħu jkunu settings addizzjonali, pereżempju f'.htaccess, f'.user.ini jew fil-pool tal-FPM?
  3. Drittijiet u separazzjoni: Taħt liema utent jaħdem il-kodiċi, u jistgħu diversi websajts jinfirdu minn xulxin?

Fil-panels tal-hosting l-SAPIs jidhru b'ismijiet oħra. Plesk, pereżempju, jitkellem dwar handlers ta' PHP bħal „FPM application“, „FastCGI application“ jew „Apache module“. It-termini jindikaw l-istess modalitajiet tat-tħaddim li tiddeskrivi din il-paġna. Fil-każ ta' dubju jgħin il-fajl ta' verifika hawn taħt, li juri l-isem veru tal-SAPI.

Liema SAPIs ta' PHP hemm?

Il-manwal ta' PHP isemmi għal php_sapi_name() fost oħrajn dawn il-valuri ta' ritorn: apache, apache2handler, cgi (sa PHP 5.3), cgi-fcgi, cli, cli-server, embed, fpm-fcgi, litespeed u phpdbg. Il-lista espliċitament mhijiex kompleta.

Isem tal-SAPI Modalità tat-tħaddim Użu tipiku Mudell tal-proċessi
fpm-fcgi PHP-FPM Nginx, Apache b'proxy_fcgi, panels tal-hosting servizz proprju b'pools ta' workers
apache2handler mod_php servers Apache eqdem, immaġini sempliċi ta' Docker PHP fil-proċess ta' Apache
cgi-fcgi php-cgi installazzjonijiet antiki, xi setups ta' Windows proċess għal kull talba jew FastCGI
litespeed LSAPI server tal-web LiteSpeed, ħafna hosters kondiviżi proċessi proprji ta' PHP
cli linja tal-kmand cronjobs, Composer, skripts ta' manutenzjoni proċess wieħed għal kull sejħa
cli-server server tal-web integrat żvilupp lokali biss (php -S) server ta' żvilupp
embed integrata PHP f'programmi oħra jiddependi mill-programm
phpdbg debugger tiftix tal-iżbalji interattiv

FrankenPHP huwa server tal-applikazzjonijiet modern li jintegra lil PHP direttament. Huwa wkoll affettwat minn PHP2Shell u għandu mogħdijiet tal-aġġornament proprji; dettalji taħt Ħarsien ta' FrankenPHP.

Kif tivverifikaw l-SAPI tas-server tagħkom

L-SAPI ta' websajt tgħarfuha biss permezz tas-server tal-web, mhux permezz tal-linja tal-kmand. Fajl żgħir ta' verifika huwa biżżejjed:

<?php
// sapi-check.php: neħħuh immedjatament wara li jintalab
header('Content-Type: text/plain');
echo PHP_SAPI, "\n", PHP_VERSION, "\n", php_ini_loaded_file(), "\n";

Fuq il-linja tal-kmand il-varjanti u s-servizzi installati jistgħu jinġabru għall-qari biss:

php -r 'echo PHP_SAPI, PHP_EOL;'          # dejjem "cli"
ls /usr/sbin/php-fpm* 2>/dev/null           # verżjonijiet tal-FPM installati
systemctl list-units --type=service | grep -i -E "php|lsws|apache2|httpd"
apachectl -M 2>/dev/null | grep -i php     # mod_php imgħobbija?

Għaliex kull SAPI tista' jkollha php.ini proprja

Skont il-manwal ta' PHP, PHP l-ewwel tfittex fajl php-SAPI.ini, jiġifieri pereżempju php-cli.ini, u biss wara php.ini. Distribuzzjonijiet bħal Debian u Ubuntu jmorru aktar 'l hemm u joħolqu folders proprji għal kull SAPI, pereżempju /etc/php/8.3/fpm/ u /etc/php/8.3/cli/.

Anki ż-żmien tal-qari jiddiffer: Ma' moduli tas-server, skont il-manwal, PHP taqra l-konfigurazzjoni darba biss meta jinbeda s-server tal-web, ma' CGI u CLI ma' kull sejħa. Min ibiddel setting għalhekk irid jaf liema SAPI hija affettwata. Aktar dwar dan taħt Il-php.ini spjegata.

SAPI u sigurtà: x'wriet PHP2Shell

Skont ir-rapporti, PHP2Shell taffettwa PHP-FPM, Apache b'mod_php, php-cgi, FrankenPHP u LiteSpeed. It-tim ta' PHP jikklassifika r-riskju bħala l-ogħla ma' mod_php, għax hemmhekk intwera exploit qabel ma jibda jaħdem kodiċi tal-applikazzjoni. Ir-raġunijiet jinsabu taħt Għaliex mod_php iġorr l-ogħla riskju.

Għat-tħaddim, l-SAPI tfisser fuq kollox ħaġa waħda: tiddetermina x'jrid jerġa' jinbeda wara l-aġġornament.

  1. PHP-FPM: il-pools u l-workers kollha ta' kull verżjoni installata
  2. mod_php: is-servizz sħiħ ta' Apache, mhux biss reload
  3. php-cgi u setups FastCGI: il-proċessi kollha ta' PHP li jifdal
  4. LiteSpeed: il-proċessi ta' PHP tas-server tal-web skont l-istruzzjonijiet tal-fornitur
  5. CLI: ebda proċessi permanenti, imma aġġornaw il-pakkett ukoll, biex il-verifiki jaqblu

Fuq żmien medju jimmerita l-bidla minn mod_php. Il-manwal ta' PHP jirrakkomanda PHP-FPM b'mod_proxy_fcgi għal installazzjonijiet ġodda ta' Apache. Il-bażi tiddeskrivi PHP-FPM spjegat.

Kif jgħin PHP SOS konkretament?

  • Niġbru l-SAPIs: Niddeterminaw għal kull server liema modalitajiet tat-tħaddim u liema verżjonijiet ta' PHP huma attivi tassew.
  • Restart korrett: Permezz tas-Servizz ta' patch għal PHP naġġornaw kull SAPI u nipprovaw ir-restart tal-proċessi kollha.
  • Nassenjaw il-konfigurazzjoni: Nuruk liema php.ini u liema settings tal-pool japplikaw għall-websajt tagħkom.
  • Nippjanaw it-tranżizzjoni: Fejn jaħdem mod_php jew php-cgi, nippjanaw u nittestjaw il-bidla għal PHP-FPM.

Mistoqsijiet frekwenti

Kif insib liema SAPI tuża l-websajt tiegħi?

L-iktar b'mod affidabbli b'fajl ta' verifika mpoġġi għal żmien qasir li jagħti PHP_SAPI jew php_sapi_name(), mitlub permezz tas-server tal-web. Fuq il-linja tal-kmand dejjem tirċievu cli, u dan ma jgħid xejn dwar il-websajt. Wara neħħu l-fajl ta' verifika immedjatament.

Liema SAPI hija l-iktar sigura?

L-ebda waħda mhi sigura minnha nfisha. PHP-FPM madankollu toffri l-aktar għodod għas-separazzjoni: pools proprji, utenti u settings imsakkra għal kull websajt. Il-manwal ta' PHP jirrakkomanda espliċitament PHP-FPM minflok mod_php għal installazzjonijiet ġodda ta' Apache.

Il-verżjoni tal-linja tal-kmand hija affettwata minn PHP2Shell?

Ir-rapporti magħrufa jsemmu PHP-FPM, mod_php, php-cgi, FrankenPHP u LiteSpeed. Is-CLI ma tipproċessax talbiet mix-xibka. Madankollu normalment tiġi mill-istess sors tal-pakketti u għandha dejjem tiġi aġġornata wkoll, għall-inqas biex il-kmandi ta' verifika juru l-istat t-tajjeb.

Server jista' juża diversi SAPIs fl-istess ħin?

Iva, dan huwa saħansitra komuni. Kważi kull server għandu, minbarra s-SAPI tal-web, is-CLI għal cronjobs u manutenzjoni. Spiss jaħdmu wkoll diversi verżjonijiet ta' PHP-FPM b'mod parallel. Kull waħda minnhom trid tiġi aġġornata u mibdija mill-ġdid individwalment.

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