An cás reatha: PHP2Shell. Ceadaíonn dhá leochaileacht chriticiúla PHP (CVSS 9.2) cód mailíseach gan logáil isteach. Paistí ar fáil ón 21 Deireadh Fómhair 2026.Cad atá le déanamh anois →

Superglobals: $_GET, $_POST, $_FILES agus eile

Is eagair iad superglobals trína sroicheann cód PHP sonraí an iarratais. An té a bhfuil a fhios aige conas a líonann PHP iad agus cé na teorainneacha atá i bhfeidhm, scríobhann sé cód níos sábháilte agus tuigeann sé PHP2Shell níos fearr.

Staid Am léitheoireachta: 5 nóim.Eolas PHP

Go achomair: Is eagair réamhshainithe iad superglobals a líonann PHP go huathoibríoch le gach iarratas agus atá ar fáil i ngach áit sa chód. Tá na paraiméadair ón seoladh i $_GET, sonraí foirme i $_POST, comhaid uaslódáilte i $_FILES, na cuacha i $_COOKIE agus sonraí faoin iarratas agus faoin bhfreastalaí i $_SERVER. Cruthaíonn PHP na heagair seo sula dtosaíonn cód d'fheidhmchláir. Dá bhrí sin ní féidir le seiceálacha san fheidhmchlár leochaileachtaí sa phróiseáil seo go díreach, mar a tharla i gcás PHP2Shell, a ghabháil.

Cad is superglobals ann?

I PHP de ghnáth ní bhíonn athróg bailí ach san fheidhm inar cruthaíodh í. Is eisceacht iad superglobals: tá siad ar fáil i ngach raon bailíochta, gan gá iad a fháil le global. Luann lámhleabhar PHP naoi gcinn acu.

Do dhaoine nach teicneoirí iad is féidir é a mhíniú mar seo: is iad na superglobals bosca poist an fheidhmchláir. Tagann gach rud a sheolann cuairteoir isteach ann sula léann an feidhmchlár é. Agus is féidir gur strainséir a sheol gach rud sa bhosca poist.

Na superglobals i mbreathnú

Superglobal Ábhar Bunús
$_GET paraiméadair ón seoladh (query string) Cliant
$_POST réimsí foirme iarratais POST Cliant
$_FILES sonraí faoi chomhaid uaslódáilte Cliant, ullmhaithe ag PHP
$_COOKIE cuacha a sheolann an brabhsálaí leis Cliant
$_REQUEST meascán de GET, POST agus cuacha b'fhéidir Cliant
$_SERVER ceanntásca iarratais, modh, cosáin, sonraí freastalaí Freastalaí gréasáin agus cliant measctha
$_ENV athróga timpeallachta Freastalaí
$_SESSION sonraí an tseisiúin reatha Stór freastalaí
$GLOBALS gach athróg ghlobal Script

Tá $_SERVER fealltach go háirithe. De réir an lámhleabhair, cruthaíonn PHP iontráil le HTTP_ ag an tús do gach ceanntásc iarratais, mar shampla HTTP_USER_AGENT. Socraíonn an cliant na luachanna seo é féin. Féadann SERVER_NAME freisin, de réir an lámhleabhair, an t-óstainm a sheol an cliant a bheith ann agus níl sé iontaofa le haghaidh cinntí slándála.

Conas a líonann PHP na superglobals

Sula ritear an chéad charachtar de do script, tá PHP ag obair cheana féin. Léann sé an seoladh, na ceanntásca agus ábhar an iarratais, briseann sé síos iad agus cuireann sé na torthaí sna heagair. Rialaíonn roinnt socruithe an chéim seo:

  1. variables_order (réamhshocrú EGPCS) socraíonn cé na superglobals a chruthaítear ar chor ar bith: Environment, GET, POST, Cookie, Server.
  2. request_order (réamhshocrú folamh) cinneann as cad a thógtar $_REQUEST. Má tá sé folamh, tá variables_order i bhfeidhm. Fágann na comhaid php.ini a seachadtar cuacha ar lár, de réir an lámhleabhair, ar chúiseanna slándála.
  3. max_input_vars (réamhshocrú 1000) agus max_input_nesting_level (réamhshocrú 64) cuireann siad teorainn le líon agus neadú na n-athróg ionchuir.
  4. post_max_size (réamhshocrú 8M) cuireann sé teorainn le hábhar an iarratais. Má tá iarratas níos mó, fanann $_POST agus $_FILES folamh.
  5. enable_post_data_reading (réamhshocrú air) rialaíonn sé an ndéanann PHP ábhar iarratas POST a mheas go huathoibríoch ar chor ar bith.

Má tá enable_post_data_reading múchta, léann an feidhmchlár an t-ábhar amh é féin trí php://input. Ó PHP 8.4.0 tá request_parse_body() ann freisin, a mheasann sonraí foirme agus uaslódála do mhodhanna seachas POST freisin agus a cheadaíonn teorainneacha dá chuid féin. Míníonn an leathanach Conas a phróiseálann PHP uaslódálacha comhad conas a oibríonn an chuid uaslódála go mion.

Sonraí iarratais a láimhseáil go sábháilte

Tá an prionsabal simplí: is ionchur coimhthíoch é gach luach ó $_GET, $_POST, $_COOKIE, $_FILES agus ó iontrálacha HTTP_ de $_SERVER. Seiceáiltear é nuair a ghlactar leis agus ionchódaítear go cuí é nuair a aschuirtear é.

<?php
declare(strict_types=1);

// Slánuimhir ag súil leis: seiceáil in ionad aistrithe go dall
$seite = filter_var($_GET['seite'] ?? '1', FILTER_VALIDATE_INT, [
    'options' => ['min_range' => 1, 'max_range' => 500],
]);
if ($seite === false) {
    http_response_code(400);
    exit('Ungültige Seitenzahl');
}

// Ná ceadaigh ach luachanna ceadaithe
$sortierung = in_array($_GET['sort'] ?? '', ['name', 'datum'], true)
    ? $_GET['sort']
    : 'datum';

// Ionchódaigh an t-aschur i gcónaí
echo htmlspecialchars($_POST['kommentar'] ?? '', ENT_QUOTES, 'UTF-8');

Bac coitianta is ea sonraí faoi bhunús iarratais. Má tá seachfhreastalaí cúil, cothromóir ualaigh nó CDN os comhair an fhreastalaí gréasáin, bíonn seoladh an idirghabhálaí seo i $_SERVER['REMOTE_ADDR'], ní seoladh an chuairteora. Ansin bíonn an fíorsheoladh i gceanntásc ar nós X-Forwarded-For, ach is féidir le gach cliant é a shocrú é féin. Ní fhéadfaidh an feidhmchlár ceanntásca den sórt sin a mheas ach amháin má thagann an t-iarratas gan amhras ó sheachfhreastalaí aitheanta dá chuid féin. Ar shlí eile is furasta bac de réir seoladh IP nó prótacail a mhealladh. Baineann rud den chineál céanna le HTTPS: má chríochnaíonn an criptiú ag an seachfhreastalaí, caithfidh an feidhmchlár a fhios a bheith aige go sainráite go raibh an nasc bunaidh criptithe.

Taispeánann an t-alt Ionchuir i PHP a bhailíochtú agus a scagadh patrúin bhreise do bhailíochtú agus do scagadh. Tá rialacha dá gcuid féin ann do shonraí seisiúin i $_SESSION; tá siad ar an leathanach Seisiúin agus cuacha i PHP.

Superglobals agus PHP2Shell: cad a tharlaíonn roimh do chód

Seo an bhaint leis an staid reatha. Déanann CVE-2026-109618 cur síos ar an gcaoi ar féidir le staid Out of Memory PHP a idirbhriseadh nuair nach bhfuil sonraí iarratais tosaithe ach go páirteach; le linn ghlanadh an iarratais is féidir sonraí neamhbhailí a láimhseáil mar shonraí bailí. I gcás CVE-2026-109619, féadann staid inmheánach iarratais maireachtáil tar éis na cuimhne a shaoradh agus féadann iarratas níos déanaí san oibrí céanna í a úsáid.

Dá bhrí sin, tá an dá leochaileacht sa phróiseáil a dhéanann PHP féin timpeall an iarratais, ní sa chód feidhmchláir. Measann foireann PHP gurb é mod_php an riosca is airde; léiríodh exploit ansin sula ritheann aon chód feidhmchláir. Ní féidir le filter_var() ná le seiceáil san fheidhmchlár é sin a chosc.

Gníomhaigh láithreach

Tá nuashonrú go PHP 8.5.12, 8.4.27, 8.3.36 nó 8.2.35 agus atosú gach próiseas PHP éigeantach. Ní cosaint iomlán iad bearta idirthréimhseacha php.net, mar shampla teorainneacha níos cúinge do post_max_size.

Conas a chabhraíonn PHP SOS go praiticiúil?

  • Seiceálaimid na teorainneacha atá i bhfeidhm do shonraí iarratais do gach suíomh gréasáin agus leagaimid síos iad de réir an fheidhmchláir.
  • Suiteálaimid an nuashonrú PHP, atosaímid gach oibrí agus cruthaímid staid an phaiste mar chuid dár seirbhís paistithe PHP.
  • Seiceálaimid forbairtí saincheaptha an dtéann luachanna ó superglobals gan seiceáil isteach sa bhunachar sonraí, sa chóras comhad nó san aschur.
  • Cosnaímid logaí an fhreastalaí gréasáin ón 20.10.2026 i leith ionas go mbeidh anailís níos déanaí indéanta fós.

Ceisteanna coitianta

Cé mhéad superglobal atá i PHP?

Luann lámhleabhar PHP naoi gcinn: $GLOBALS, $_SERVER, $_GET, $_POST, $_FILES, $_COOKIE, $_SESSION, $_REQUEST agus $_ENV. Tá siad ar fáil i ngach raon bailíochta, fiú i bhfeidhmeanna agus i modhanna.

An bhfuil luachanna i $_SERVER iontaofa?

Go páirteach amháin. Tagann iontrálacha le HTTP_ ag an tús ó cheanntásca iarratais an chliaint. Tugann an lámhleabhar rabhadh, mar shampla, go bhféadfadh SERVER_NAME an t-óstainm a sheol an cliant a léiriú agus nach bhfuil sé iontaofa le haghaidh cinntí slándála.

Cén fáth a mbíonn $_POST folamh uaireanta cé gur seoladh foirm?

Is é an chúis is coitianta iarratas atá níos mó ná post_max_size. Ansin fanann $_POST agus $_FILES folamh de réir an lámhleabhair. Mar thoradh ar an socrú enable_post_data_reading a bheith múchta freisin.

An ceart $_REQUEST a úsáid?

Níos fearr gan. Meascann $_REQUEST sonraí ó fhoinsí éagsúla, agus braitheann cé acu foinse a bhuaileann ar request_order agus variables_order. Léigh luachanna go sonrach ó $_GET nó ó $_POST.

Foinsí

Teagmháil láithreach

Cuireann gach uair an chloig leis. Scríobh chugainn anois.

Déan cur síos gearr ar an gcóras, leagan PHP agus an rud a thug tú faoi deara. Cuirfimid scéala chugat, soiléireoimid an cás agus oibreoimid go cianda go dtí go mbeidh an teagmhas dúnta agus doiciméadaithe.

Cabhair láithreach