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 →

post_max_size agus upload_max_filesize a theorannú go ciallmhar

Tá éifeacht ag teorainneacha uaslódála in trí áit: sa fhreastalaí gréasáin, i PHP agus san fheidhmchlár. Seo conas a shocraíonn tú na luachanna go comhsheasmhach, na luachanna idirthréimhseacha ó php.net do PHP2Shell san áireamh.

Staid Am léitheoireachta: 6 nóim.Cruatú agus cumraíocht

Go achomair: Cuireann post_max_size teorainn le méid iomlán iarratais POST, upload_max_filesize leis an gcomhad aonair; is iad 8M agus 2M na réamhshocruithe de réir lámhleabhar PHP. Ní mór do na luachanna a bheith ag teacht le teorainneacha an fhreastalaí gréasáin agus an fheidhmchláir, nó teipfidh ar uaslódálacha gan teachtaireacht shoiléir. Go dtí nuashonrú PHP2Shell molann php.net post_max_size = 8M gan uaslódálacha nó 32M le huaslódálacha, upload_max_filesize faoina bhun, socraithe ar bhealach nach scríobhann feidhmchláir os a chionn é.

Nuair a thosaíonn an fhoirm iarratais go tobann ag fanacht ina tost

Tar éis na mbeart idirthréimhseach do PHP2Shell, laghdaigh go leor riarthóirí post_max_size. Cúpla lá ina dhiaidh sin tuairiscíonn an roinn acmhainní daonna nach sroicheann iarratais a thuilleadh. Athluchtaíonn an fhoirm go simplí, níl aon teachtaireacht earráide ann. An chúis: bhí an t-iarratas le trí cheangaltán PDF níos mó ná an teorainn nua, agus chaith PHP na sonraí foirme amach.

Léiríonn an sampla an bunfhadhb. Tá éifeacht ag teorainneacha uaslódála in roinnt áiteanna ag an am céanna, agus freagraíonn gach áit ar bhealach difriúil nuair a sháraítear í. An té a bhfuil aithne aige ar an slabhra, is féidir leis na luachanna a shocrú ionas go gcosnaíonn siad gan cur isteach ar an oibríocht. Míníonn Conas a láimhseálann PHP uaslódálacha comhad conas a phróiseálann PHP uaslódálacha go hinmheánach; déanann Uaslódálacha comhad a chur i bhfeidhm go slán i PHP cur síos ar chlárú sábháilte feidhmeanna uaslódála.

Slabhra na dteorainneacha uaslódála

Téann iarratas trí roinnt teorainneacha sula bhfeiceann an feidhmchlár é. Is as doiciméadacht Nginx, Apache agus PHP a thagann na sonraí seo a leanas:

Áit Socrú Réamhshocrú de réir an doiciméadacht Nuair a sháraítear é
Nginx client_max_body_size 1m earráid 413 chuig an mbrabhsálaí
Apache ó 2.4.54 LimitRequestBody 1 GiB (go dtí 2.4.53: gan teorainn) freagra earráide in ionad próiseála
PHP post_max_size 8M $_POST agus $_FILES folamh
PHP upload_max_filesize 2M diúltaítear don chomhad le cód earráide
PHP max_file_uploads 20 déantar neamhaird de chomhaid bhreise
PHP max_input_vars 1000 réimsí foirme breise in easnamh

As sin tagann riail shimplí: upload_max_filesize níos lú ná post_max_size, post_max_size níos lú ná an teorainn sa fhreastalaí gréasáin. Molann lámhleabhar PHP freisin go mbeadh memory_limit níos mó go ginearálta ná post_max_size. Le linn bheart idirthréimhseach PHP2Shell le memory_limit=-1 glacann an teorainn trí choimeádán nó cgroup an ról seo; tuilleadh ag memory_limit a shocrú i gceart.

post_max_size tar éis PHP2Shell: an méid a mholann php.net

Sa fhógra slándála an 21 Deireadh Fómhair 2026 luann php.net teorainneacha ísle iarratais mar cheann de na bearta idirthréimhseacha do fhreastalaithe gan nuashonrú. Laghdaíonn siad riosca bealaí ionsaithe aonair, ach ní cosaint iomlán iad go sainráite:

  1. Gan uaslódálacha comhad: post_max_size = 8M.
  2. Le huaslódálacha comhad: post_max_size = 32M.
  3. Sa dá chás: upload_max_filesize a choinneáil faoi post_max_size.
  4. Smaoinigh freisin ar: teorainneacha sa fhreastalaí gréasáin nó sa seachfhreastalaí do mhéid dhíchódaithe an iarratais, líon na réimsí ionchuir, líon na gcodanna multipart, líon na gceanntásc agus doimhneacht neadaithe. De réir php.net ní mór do na teorainneacha seo iarratais gan luach Content-Length inúsáidte a ghabháil freisin.

Baineann na luachanna leis an áit nach féidir le feidhmchláir iad a scríobh os a gcionn. Toisc go bhfuil post_max_size agus upload_max_filesize inathraithe ar leibhéal an eolaire de réir an lámhleabhair, d'fhéadfadh .user.ini nó .htaccess le mod_php iad a ardú arís ar shlí eile:

; Linn FPM an tsuímh gréasáin, le huaslódálacha (idirthréimhse go dtí an nuashonrú)
php_admin_value[post_max_size] = 32M
php_admin_value[upload_max_filesize] = 24M
php_admin_value[max_file_uploads] = 5

Sa fhreastalaí gréasáin tarraingíonn tú an teorainn go díreach os cionn, ionas nach sroicheann iarratais rómhóra PHP ar chor ar bith:

# Nginx, sa bhloc server nó location
client_max_body_size 32m;
# Apache, sa VirtualHost: 32 MiB i mbearta
LimitRequestBody 33554432

Ina dhiaidh sin athluchtaigh gach worker PHP agus an freastalaí gréasáin. Tá forbhreathnú ar na bearta idirthréimhseacha go léir ag Gníomhartha láithreacha mura féidir leat paistiú fós. An féidir iarratais uaslódála a scagadh ag an seachfhreastalaí freisin, agus conas, scrúdaíonn Iarratais uaslódála a scagadh ag an imeall.

Tábhachtach

Déan tástáil ar na foirmeacha tar éis gach athraithe leis na hiarratais dhlisteanacha is mó: iarratais le roinnt ceangaltán, allmhairithe táirgí, gailearaithe íomhánna. Cuireann luach róghann próisis ghnó as feidhm gan go bhfeiceann aon duine teachtaireacht earráide.

An luach ceart do do shuíomh gréasáin a fháil amach

In ionad luachanna ginearálta, is fiú cuntas gearr a dhéanamh. Liostáil gach foirm le huaslódálacha agus breac síos an comhad dlisteanach is mó agus an líon is airde de chomhaid chomhuaineacha. As sin tagann an gá: clúdaíonn upload_max_filesize an comhad aonair is mó, post_max_size suim na gcomhad go léir in iarratas móide roinnt cúlchiste do réimsí foirme.

Má tá an gá os cionn 32M, ní oireann sé do mholadh idirthréimhseach php.net. Is cúis bhreise é sin chun an nuashonrú a bhogadh chun cinn. Is féidir uaslódálacha móra a láimhseáil trí fhofhearann dá chuid féin le linn dá chuid féin freisin, ionas go gcoinníonn an chuid eile den suíomh gréasáin teorainneacha cúnga.

Tar éis an nuashonraithe go 8.5.12, 8.4.27, 8.3.36, 8.2.35 nó backport deimhnithe, is féidir leat na luachanna a ailíniú arís leis an ngá iarbhír. Níor cheart dóibh a bheith níos flaithiúla ná mar is gá fós, áfach: méadaíonn gach teorainn a théann thar an ngá an dromchla ionsaithe gan tairbhe. Mura bhfuil uaslódálacha de dhíth ar shuíomh gréasáin ar chor ar bith, is é file_uploads = Off an réiteach is glaine.

Earráidí a léamh i gceart

Nuair a theipeann ar uaslódálacha, nochtann an t-iompar cé acu teorainn atá i bhfeidhm. Is ón bhfreastalaí gréasáin a thagann leathanach le hearráid 413. Léiríonn foirm a athluchtaíonn gan teachtaireacht nó a thuairiscíonn “iarratas neamhbhailí” sonraí $_POST folamh, is é sin post_max_size. Oireann teachtaireacht ón bhfeidhmchlár faoi chomhad aonair do upload_max_filesize. Agus is ar max_input_vars a léiríonn réimsí in easnamh i bhfoirmeacha an-mhóra, mar shampla i leaganacha táirge. Sa log earráidí PHP bíonn rabhadh de ghnáth le méid an iarratais nuair a sháraítear post_max_size.

Ionas nach bhfágtar úsáideoirí gan leid, ba cheart don fheidhmchlár an cás a aithint. Molann lámhleabhar PHP bealach simplí chuige sin: seolann an fhoirm marcóir sa seoladh, mar shampla ?processed=1. Má thagann an marcóir ach go bhfuil $_POST agus $_FILES folamh, bhí an t-iarratas rómhór, agus is féidir leis an bhfeidhmchlár teachtaireacht intuigthe a thaispeáint leis an méid incheadaithe.

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

  • Taifeadaimid gach bealach uaslódála de do shuíomhanna gréasáin agus faighimid amach na méideanna atá riachtanach i ndáiríre.
  • Socraímid teorainneacha an fhreastalaí gréasáin, PHP agus linne go comhsheasmhach agus faoi ghlas in aghaidh scríobh os a gcionn, luachanna idirthréimhseacha php.net san áireamh.
  • Déanaimid tástáil ar fhoirmeacha, ar allmhairithe agus ar uaslódálacha tar éis an aistrithe agus coigeartaímid luachanna go sonrach.
  • Faoi chuimsiú chruachan an fhreastalaí tugaimid na luachanna ar ais tar éis an nuashonraithe chuig an ngá buan.

Ceisteanna coitianta

Cad é an difríocht idir post_max_size agus upload_max_filesize?

Cuireann upload_max_filesize teorainn le méid comhaid uaslódáilte aonair. Cuireann post_max_size teorainn le sonraí iomlána iarratais POST, is é sin gach comhad agus réimse foirme le chéile. De réir lámhleabhar PHP ní mór post_max_size a bheith níos mó ná upload_max_filesize dá bhrí sin.

Cad a tharlaíonn má tá iarratas níos mó ná post_max_size?

De réir lámhleabhar PHP bíonn $_POST agus $_FILES folamh ansin. Ní fhaigheann an feidhmchlár aon sonraí foirme ar chor ar bith, mar sin, agus is minic nach dtaispeánann sé ach teachtaireacht earráide doiléir nó athluchtaíonn sé an fhoirm. Fágann sé sin go bhfuil an earráid seo deacair a aithint.

Cé na luachanna a mholann php.net mar gheall ar PHP2Shell?

Mar bheart idirthréimhseach go dtí an nuashonrú: post_max_size = 8M d'fheidhmchláir gan uaslódálacha comhad, 32M d'fheidhmchláir le huaslódálacha, agus upload_max_filesize faoina bhun. De réir php.net ní cosaint iomlán é seo; ní dhúnann ach an nuashonrú go leagan ceartaithe PHP na leochaileachtaí.

An féidir liom post_max_size a athrú le ini_set() sa chód?

Ní féidir. De réir lámhleabhar PHP ní féidir post_max_size a athrú ach ar leibhéal an eolaire, mar shampla i php.ini, sa linn FPM, i .user.ini nó i .htaccess le mod_php. An té ar mhaith leis an luach a fhorfheidhmiú, socraíonn sé le php_admin_value é, ansin ní féidir le .user.ini é a scríobh os a chionn.

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