Go achomair: Cuireann composer audit pacáistí do thionscadail PHP i gcomparáid le tuarascálacha slándála aitheanta agus taispeánann sé na leaganacha lena mbaineann. Rith an t-ordú le gach tógáil agus go rialta ar an staid tháirgthe. Tábhachtach tar éis PHP2Shell: clúdaíonn an seiceáil leabharlanna, ní an t-ateangaire PHP féin.
Cén fáth a dteastaíonn aird ar spleáchais anois go háirithe
Is cód coimhthíoch den chuid is mó a bhíonn i bhfeidhmchláir PHP nua-aimseartha. Tugann siopa bunaithe ar Symfony nó tairseach le Laravel roinnt dosaen go céadta pacáistí leis go tapa, go leor acu go hindíreach trí phacáistí eile. Is féidir le gach ceann de na leabharlanna seo bearna a bheith iontu. Liostaíonn an OWASP Top 10 comhpháirteanna as dáta agus leochaileacha mar chatagóir riosca ar leith dá bhrí sin.
I nDeireadh Fómhair 2026 léirigh PHP2Shell cé chomh tapa agus a leathnaíonn bearna chriticiúil. Baineann an dá leochaileacht CVE-2026-109618 agus CVE-2026-109619 le PHP féin, ní le pacáistí Composer. Seiceáil a lán foirne a slabhra iomlán sna laethanta sin, áfach, agus fuair siad amach nach raibh a fhios acu go beacht staid a spleáchas.
Is féidir an bhearna seo san fhorbhreathnú a dhúnadh le hiarracht bheag. Tagann an uirlis oiriúnach le Composer cheana i leaganacha reatha.
An rud a sheiceálann composer audit agus an rud nach seiceálann
Léann an t-ordú na pacáistí suiteáilte nó an comhad lock agus fiafraíonn sé de thuarascálacha slándála aitheanta faoi na pacáistí sin. Do gach torthaí taispeánann sé an pacáiste, an raon leaganacha lena mbaineann, déine, aitheantóir an tuarascála agus nasc chuig an tuairisc.
| Leibhéal | An seiceálann composer audit é? | Conas a sheiceálfaidh tú ina ionad |
|---|---|---|
| Pacáistí Composer sa tionscadal | seiceálann | composer audit |
| Ateangaire PHP (m.sh. PHP2Shell) | ní sheiceálann | Staid phacáiste, deimhniú an tsoláthraí óstála |
| Eisínteachtaí PHP ón gcóras | ní sheiceálann | Bainistíocht phacáistí an dáilte |
| Pacáistí JavaScript sa tosaigh | ní sheiceálann | Uirlis an bhainisteora pacáistí ábhartha |
| Cód d'fheidhmchláir féin | ní sheiceálann | Athbhreithniú cóid, iniúchadh slándála |
Cuireann an t-ordú spleáchais indíreacha san áireamh freisin, is é sin pacáistí nár iarr tú riamh tú féin ach a thagann leis trí phacáistí eile. Go háirithe ansin bíonn bearnaí gan aird go minic, mar nach bhfuil aithne ag aon duine san fhoireann ar na pacáistí sin. Tugann leaganacha níos nuaí de Composer rabhadh freisin faoi phacáistí a mharcáil a n-údair mar thréigthe. De ghnáth ní fhaigheann pacáistí den sórt sin ceartúcháin a thuilleadh agus ba cheart iad a athsholáthar.
Ciallaíonn toradh glan mar sin nach bhfuil aon tuarascáil aitheanta ann do na leaganacha pacáiste suiteáilte. Ní fhaigheann an uirlis bearnaí anaithnide ná earráidí i gcód féin. Conas a sheiceálann tú staid PHP tú féin, déanann an t-alt Leagan PHP agus staid an phaiste a sheiceáil i gceart cur síos air.
composer audit a rith agus torthaí a léamh
Sa chomhadlann tionscadail is leor ordú amháin. Éagsúlaíonn na leaganacha sa rud a sheiceáiltear agus sa chaoi a n-aschuirtear an toradh.
# Pacáistí suiteáilte a sheiceáil
composer audit
# Gan ach an comhad lock a sheiceáil, m.sh. sa tógáil gan pacáistí suiteáilte
composer audit --locked
# Spleáchais forbartha a fhágáil ar lár (staid mar ar an bhfreastalaí)
composer audit --no-dev
# Aschur inléite ag meaisín le haghaidh meastóireachta nó córas ticéad
composer audit --format=json > audit-$(date +%F).json
Má aimsíonn an t-ordú bearnaí, críochnaíonn sé le cód earráide. Sin an rud atá beartaithe, mar go stopann tógáil uathoibrithe ar an gcaoi sin. Measúnaigh gach torthaí: an bhfuil an pacáiste in úsáid ar an bhfreastalaí, an úsáidtear an fheidhm lena mbaineann, an bhfuil leagan ceartaithe ann?
# Cé na spleáchais dhíreacha atá as dáta?
composer outdated --direct
# Cén fáth a bhfuil pacáiste áirithe suiteáilte?
composer why vendor/paket
# Nuashonrú spriocdhírithe, le spleáchais
composer update vendor/paket --with-dependencies
Tástáil gach nuashonrú i dtimpeallacht staging. De ghnáth ní bhíonn nuashonruithe slándála laistigh den phríomhleagan céanna criticiúil, ach d'fhéadfadh príomhleagan nua oiriúnuithe cóid a éileamh.
An seiceáil a uathoibriú
Is beag a chabhraíonn glao aonuaire, mar go dtagann bearnaí nua chun solais i gcónaí. Cuir composer audit isteach i dhá áit dá bhrí sin: sa phíblíne tógála le gach athrú agus i seiceáil rialta ar an staid tháirgthe, fiú nuair nach n-athraíonn aon rud sa chód.
Seo cuma scripte shimplí le haghaidh rith laethúil ar an bhfreastalaí tógála nó seiceála:
#!/bin/sh
# Iniúchadh laethúil ar an staid seachadta (oiriúnaigh an cosán)
cd /srv/build/meine-anwendung || exit 1
if ! composer audit --locked --no-dev --format=plain > /var/log/composer-audit.log 2>&1; then
logger -t composer-audit "Lücken in meine-anwendung gefunden, siehe /var/log/composer-audit.log"
fi
Seol an teachtaireacht ón logchomhad córais ar aghaidh chuig do mhonatóireacht, do bhosca poist inmheánach nó do chóras ticéad. Is tábhachtach go bhfuil duine freagrach as teachtaireachtaí a mheas. Ní chosnaíonn iniúchadh a bhfuil a rabhaidh gan léamh ag aon duine.
Socraigh i composer.json faoi config.platform.php an leagan PHP a ritheann ar an bhfreastalaí. Ansin ní réitíonn Composer ach pacáistí a oireann don staid sin, agus taispeánann composer check-platform-reqs difríochtaí.
Seachadadh glan: imscaradh gan fo-éifeachtaí
Cuireann an bealach chuig an bhfreastalaí isteach ar an tslándáil freisin. Tá roinnt bunrialacha cruthaithe:
composer.locka thabhairt isteach sa stór agus gan achcomposer installa rith ar an bhfreastalaí,composer updateriamh.- Suiteáil le
--no-devionas nach dtéann uirlisí tástála agus dífhabhtaithe ar an bhfreastalaí táirgthe. - An fillteán
vendor/a choinneáil lasmuigh den fhréamhchomhadlann ghréasáin, ionas nach bhfuil sé inrochtana go díreach trí URL. composer validatea rith sa tógáil chun sonraí lochtacha nó contrártha a aithint go luath.
composer validate --strict
composer install --no-dev --prefer-dist --classmap-authoritative --no-interaction
Tabhair aird freisin ar thacaíocht do leagan PHP féin. Éilíonn leabharlanna brainsí PHP reatha níos mó agus níos mó. An té atá fós ar PHP 8.1 nó níos sine, ní fhaigheann sé nuashonruithe oifigiúla do PHP féin a thuilleadh agus ní féidir leis go minic leaganacha pacáiste níos nuaí le ceartúcháin slándála a shuiteáil. Déanann an treoir PHP End of Life: rioscaí leaganacha as dáta cur síos ar an bpleanáil dó sin. Gheobhaidh tú nótaí ar leith do chreataí ag Feidhmchláir Laravel a chosaint.
Conas a chabhraíonn PHP SOS go nithiúil?
- Taifeadaimid staid na spleáchas go léir agus measaimid torthaí de réir úsáide iarbhír.
- Cuirimid seiceálacha uathoibrithe ar bun sa tógáil agus san oibríocht, le freagracht shoiléir as torthaí.
- Pleanálaimid agus tástálaimid nuashonruithe, fiú nuair a éilíonn príomhleaganacha nua oiriúnuithe.
- Ar iarratas seiceálaimid cód agus cumraíocht féin freisin, áit nach bhféachann uirlis uathoibrithe.
Déanann an tseirbhís Iniúchadh slándála agus tástáil threáite cur síos ar sheiceáil ag tríú páirtí.
Ceisteanna coitianta
An bhfaigheann composer audit PHP2Shell freisin?
Ní fhaigheann. Seiceálann composer audit na pacáistí i do thionscadal, ní an t-ateangaire PHP ar an bhfreastalaí. Tá PHP2Shell i PHP féin agus ní cheartaítear é ach le nuashonrú PHP agus atosú gach próiseas PHP.
An gcaithfidh composer.lock a bheith sa stór?
I gcás feidhmchlár, caithfidh. Taifeadann an comhad lock cé na leaganacha go beacht atá suiteáilte. Ar an gcaoi sin amháin a sheiceálann composer audit an staid a ritheann ar an bhfreastalaí i ndáiríre, agus suiteálann gach imscaradh na leaganacha céanna.
Cad a dhéanaim mura bhfuil nuashonrú ann do phacáiste a bhfuil tionchar air?
Seiceáil an úsáideann do thionscadal an fheidhm lena mbaineann ar chor ar bith, agus doiciméadaigh an mheastóireacht. Mura bhfuil aon cheartúchán ann, tagann pacáiste ionaid, paiste féin nó cosaint shealadach ar leibhéal an fhreastalaí i gceist.
Cé chomh minic ba cheart dom composer audit a rith?
Le gach tógáil agus ina theannta sin go rialta, mar shampla gach lá, fiú gan athrú cóid. Tuairiscítear bearnaí nua i gcónaí, agus d'fhéadfadh staid a bhí glan inné a bheith tionchar uirthi inniu.