Go achomair: Do shlándáil php.ini tá ceithre réimse thar aon cheann eile tábhachtach: gan teachtaireachtaí earráide a thaispeáint amach, fianáin shlána seisiúin, uaslódálacha teoranta agus luachanna faoi ghlas nach féidir le feidhmchláir a fhorscríobh. Tar éis PHP2Shell cuirtear bearta idirthréimhseacha php.net leis, go háirithe session.upload_progress.enabled=0. Ní chuireann cumraíocht shlán in ionad an nuashonraithe choíche, áfach.
Cén fáth a bhfuil php.ini ar ais i bhfócas tar éis PHP2Shell
Is é php.ini príomhchomhad cumraíochta PHP. Ar a lán freastalaithe cuireadh ar bun é uair amháin agus is annamh a ndearnadh teagmháil leis ó shin. Le PHP2Shell tá sin athraithe: don dá leochaileacht CVE-2026-109618 agus CVE-2026-109619 luann php.net bearta idirthréimhseacha a thosaíonn go beacht anseo.
Tá na leochaileachtaí féin san ateangaire PHP. Tá siad ceartaithe i PHP 8.5.12, 8.4.27, 8.3.36 agus 8.2.35, foilsithe an 21.10.2026. Cuidíonn cumraíocht mhaith ar dhá bhealach mar sin féin: is féidir léi leas a bhaint a dhéanamh níos deacra, agus teorannaíonn sí an damáiste má shleamhnaíonn rud éigin tríd.
Níl a fhios ag a lán oibreoirí go beacht freisin cé na socruithe atá i bhfeidhm ar a bhfreastalaí. Is é sin an chéad chéim.
Cén php.ini atá i bhfeidhm ar do fhreastalaí?
Is féidir le PHP comhaid chumraíochta éagsúla a léamh de réir an mhóid oibriúcháin. Faoi Debian agus Ubuntu, mar shampla, tá fillteáin ar leith ag an líne ordaithe, ag PHP-FPM agus ag Apache le mod_php faoi /etc/php/<version>/. An té nach n-athraíonn ach comhad CLI, ní athraíonn sé rud ar bith ar an suíomh gréasáin.
# Comhaid chumraíochta na líne ordaithe
php --ini
# Cumraíocht PHP-FPM (oiriúnaigh uimhir an leagain)
php-fpm8.3 -i | grep -E "Loaded Configuration|Scan this dir"
# Luachanna aonair PHP-FPM a sheiceáil
php-fpm8.3 -i | grep -E "^(expose_php|display_errors|session.upload_progress.enabled) "
Ina theannta sin is féidir luachanna a bheith sa linn FPM, i gcumraíocht Apache, in .htaccess (mod_php amháin) nó in .user.ini (FPM agus CGI). Cé acu leagan a ritheann ar an bhfreastalaí i ndáiríre agus an bhfuil backport ann, soiléiríonn an t-alt Leagan PHP agus staid an phaiste a sheiceáil i gceart.
Bunsocruithe do shlándáil php.ini níos fearr
Tá na luachanna seo a leanas ciallmhar don chuid is mó de na freastalaithe táirgthe. Sula n-úsáideann tú iad, seiceáil i dtimpeallacht tástála an n-oibríonn d'fheidhmchlár leis na luachanna ar fad.
; Gan faisnéis leagain sa cheanntásc HTTP
expose_php = Off
; Earráidí a logáil, ach gan iad a thaispeáint sa bhrabhsálaí riamh
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /var/log/php/error.log
; Gan comhaid a áireamh ó sheoltaí i bhfad i gcéin
allow_url_include = Off
; allow_url_fopen a fhágáil gníomhach ach amháin má theastaíonn sé ón bhfeidhmchlár
allow_url_fopen = Off
; Seisiúin: dian, trí HTTPS amháin, gan a bheith inléite trí JavaScript
session.use_strict_mode = 1
session.use_only_cookies = 1
session.cookie_secure = 1
session.cookie_httponly = 1
session.cookie_samesite = Lax
; Am rite agus ionchuir a theorannú
max_execution_time = 30
max_input_time = 60
max_input_vars = 1000
Teastaíonn allow_url_fopen ó roinnt feidhmchlár le haghaidh nuashonruithe nó comhéadan. Ná múch é ach amháin tar éis duit é sin a sheiceáil roimh ré. Is féidir feidhmeanna a rithfeadh orduithe córais a chur faoi ghlas freisin; conas é sin a dhéanamh gan fo-éifeachtaí, míníonn an treoir disable_functions a úsáid i gceart.
Bearta idirthréimhseacha ó php.net maidir le PHP2Shell
Mura féidir leat paistiú láithreach, luann php.net roinnt socruithe a laghdaíonn an riosca. Ní cosaint iomlán iad, go sainráite, ach droichead go dtí an nuashonrú.
; Session upload progress a mhúchadh (mar gheall ar CVE-2026-115560 freisin)
session.upload_progress.enabled = 0
; Méid an iarratais a theorannú: 8M gan uaslódálacha, 32M le huaslódálacha
post_max_size = 8M
upload_max_filesize = 6M
; PHP 8.5 amháin: gan backtraces ag earráidí troma
fatal_error_backtraces = 0
Molann php.net freisin memory_limit=-1 a shocrú ionas nach féidir le feidhmchláir an luach a fhorscríobh, agus an teorainn chuimhne a tharraingt trí choimeádán nó cgroup ina ionad, ní trí RLIMIT_AS nó RLIMIT_DATA. Baineann an beart seo leis an linn FPM nó le cumraíocht an fhreastalaí agus ba cheart é a chomhcheangal le teorainn cgroup a oibríonn. Gheobhaidh tú an forbhreathnú iomlán ag Bearta láithreacha mura féidir leat paistiú go fóill.
Ní oibríonn session.upload_progress.enabled=0 ach ó php.ini, ón linn FPM nó ó chumraíocht an fhreastalaí. Má shocraítear é trí ini_set() nó .user.ini, ní théann an beart i bhfeidhm. Ansin gach oibrí a atosú.
Luachanna a chur faoi ghlas i gcoinne forscríobh
Socraíonn a lán feidhmchlár a luachanna féin, mar shampla le haghaidh cuimhne nó uaslódálacha. Le php_admin_value agus php_admin_flag socraíonn tú socruithe ionas nach féidir le ini_set() ná .user.ini iad a athrú. Sa linn FPM tá cuma mar seo air:
; /etc/php/8.3/fpm/pool.d/meine-seite.conf (sliocht)
php_admin_flag[display_errors] = off
php_admin_flag[session.upload_progress.enabled] = off
php_admin_value[memory_limit] = -1
php_admin_value[post_max_size] = 8M
php_admin_value[upload_max_filesize] = 6M
php_admin_value[error_log] = /var/log/php/meine-seite.error.log
Faoi Apache le mod_php baineann an loighic chéanna le php_admin_value agus php_admin_flag i gcumraíocht VirtualHost. Ansin athlódáil an tseirbhís agus seiceáil an luach gníomhach:
sudo systemctl reload php8.3-fpm
# Am tosaithe na bpróiseas: an bhfuil sé tar éis an athraithe?
ps -eo pid,lstart,cmd | grep "[p]hp-fpm"
Atosaíonn athlódáil oibrithe PHP-FPM. Tar éis nuashonraithe PHP, os a choinne sin, is gá gach próiseas PHP a atosú go hiomlán ionas nach rithfidh seanphróiseas sa chuimhne. Nuair a bhíonn roinnt suíomhanna gréasáin ar fhreastalaí amháin is fiú linn ar leith do gach suíomh freisin; tuilleadh faoi sin sa treoir open_basedir agus scaradh do gach suíomh.
Earráidí coitianta agus seicliosta ghearr
Ní tharlaíonn formhór na bhfadhbanna le php.ini de bharr luachanna mícheart, ach de bharr luachanna san áit mhícheart. Is tipiciúil comhad CLI athraithe agus an suíomh gréasáin ag rith trí PHP-FPM. Chomh minic céanna ní tharlaíonn an t-atosú tar éis athraithe, nó forscríobhann painéal óstála do shocrú féin an chéad uair eile a shábhálann sé.
Is clasaiceach eile teachtaireachtaí earráide infheicthe ar an suíomh gréasáin beo. Nochtann siad cosáin, ainmneacha bunachair sonraí nó leaganacha agus éascaíonn siad treoshuíomh d'ionsaitheoirí. Go háirithe tar éis aistriú nó athshuiteála bíonn display_errors ar On arís go minic.
Ba cheart duit na pointí seo a sheiceáil tar éis gach athraithe agus tar éis gach nuashonraithe PHP:
- Cén comhad cumraíochta a léann an mód oibriúcháin gréasáin, agus an bhfuil do chuid luachanna ann?
- An bhfuil
display_errorsagusexpose_phpmúchta, an bhfuil an logchomhad earráide inscríofa? - An bhfuil
session.upload_progress.enabledar0, socraithe trí php.ini nó an linn? - An bhfuil méideanna uaslódála agus iarratais teoranta de réir an fheidhmchláir?
- An bhfuil gach próiseas PHP ag rith le húdar tosaithe tar éis an athraithe deireanaigh?
Taifead an toradh le dáta. Ar an gcaoi sin is féidir a chruthú níos déanaí cén socrú a bhí i bhfeidhm agus cathain.
Conas a chabhraíonn PHP SOS go nithiúil?
- Faighimid amach cén chumraíocht atá gníomhach i ndáiríre i ngach mód oibriúcháin.
- Cuirimid bunchumraíocht chomhordaithe agus bearta idirthréimhseacha PHP2Shell i bhfeidhm, tástáilte le d'fheidhmchlár.
- Cuirimid luachanna a bhaineann le slándáil faoi ghlas i gcoinne forscríobh agus atosaímid gach oibrí ar bhealach rialaithe.
- Doiciméadaímid socruithe agus torthaí seiceála ionas go bhfanann athruithe níos déanaí intuigthe.
Conas a fhéachann cosaint bhuan, déanann an tseirbhís Cruatú freastalaí do fhreastalaithe gréasáin PHP cur síos air.
Ceisteanna coitianta
Cén php.ini a úsáideann mo fhreastalaí gréasáin i ndáiríre?
Is minic nach é an ceann céanna é agus atá ar an líne ordaithe. Bíonn fillteáin chumraíochta ar leith ag PHP-FPM, Apache le mod_php agus CLI de ghnáth. Seiceáil an comhad gníomhach tríd an mód oibriúcháin ábhartha, mar shampla le php-fpm -i nó le comhad seiceála a leagtar síos go sealadach.
An gcuireann php.ini slán in ionad an nuashonraithe PHP?
Ní chuireann. Laghdaíonn na socruithe an dromchla ionsaithe agus déanann siad leas a bhaint as níos deacra, ach ní dhúnann siad bearna san ateangaire PHP. Ní cosaint iomlán iad bearta idirthréimhseacha php.net maidir le PHP2Shell ach an oiread, go sainráite.
Cén difríocht atá idir php_value agus php_admin_value?
Is féidir leis an bhfeidhmchlár luachanna a socraíodh le php_value a athrú arís le linn ama rite. Os a choinne sin, tá luachanna trí php_admin_value sa linn FPM nó i gcumraíocht Apache faoi ghlas don fheidhmchlár, ini_set() agus .user.ini san áireamh.
An gcaithfidh mé atosú tar éis athrú ar php.ini?
Caithfidh. Ní léann PHP-FPM agus Apache le mod_php an chumraíocht ach nuair a thosaíonn siad. Ní bhíonn na luachanna nua i bhfeidhm ach tar éis atosaithe nó athlódála na seirbhísí ábhartha go léir.