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 →

php_admin_value: socruithe a ghlasáil i gcoinne scríobh os a gcionn

Is beag an úsáid a bhaineann le socrú slándála má athraíonn an feidhmchlár arís é le líne chóid. Le php_admin_value agus php_admin_flag socraíonn tú luachanna do PHP-FPM agus Apache go ceangailteach.

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

Go achomair: Socraíonn php_admin_value agus php_admin_flag socruithe PHP i linn PHP-FPM nó i gcumraíocht Apache ar shlí nach féidir le feidhmchláir iad a athrú trí ini_set() ná trí .htaccess. Éilíonn php.net go beacht sin do bhearta idirthréimhseacha PHP2Shell, mar shampla do memory_limit=-1. Tar éis é a shocrú ní mór don tseirbhís atosú, agus ba cheart an luach a sheiceáil sa chomhthéacs gréasáin.

Cén fáth nach ionann “socraithe” agus “faoi ghlas”

Sna laethanta tar éis an 21 Deireadh Fómhair 2026 scríobh go leor riarthóirí bearta idirthréimhseacha php.net isteach ina php.ini. Chuaigh mionsonra den mholadh i ndearmad go minic: ba cheart memory_limit=-1 a shocrú ar bhealach nach féidir le feidhmchláir é a scríobh os a chionn. Luann php.net php_admin_value sa linn FPM nó i gcumraíocht Apache chuige sin go sainráite.

Tá an chúis simplí. Socraíonn go leor CMS, siopaí agus creataí a luachanna féin, mar shampla teorainn chuimhne níos airde d'allmhairithe. Mura bhfuil an luach ach i php.ini, scríobhann an feidhmchlár os a chionn ag an gcéad ghlao eile. Ansin tá an beart cosanta ann ar pháipéar, ach ní sa phróiseas reatha.

Ní bhaineann sé seo le PHP2Shell amháin. Níl gach cruachan, ó aschuir earráide múchta go teorainneacha uaslódála, láidir ach chomh láidir lena leibhéal is laige.

Cé a fhéadfaidh socruithe PHP a athrú ar chor ar bith

Tá ceithre mhód athraithe ag PHP. Tá ceann acu ag gach socrú, agus cinneann sé cé na háiteanna inar féidir é a shocrú. Tagann na bríonna ó lámhleabhar PHP.

Mód Cá bhféadfaí an luach a shocrú Samplaí
INI_USER sa script le ini_set() agus i .user.ini beagán luachanna ama rite
INI_PERDIR php.ini, .htaccess, httpd.conf, .user.ini post_max_size, session.upload_progress.enabled
INI_SYSTEM php.ini nó httpd.conf amháin file_uploads, disable_functions
INI_ALL i ngach áit, trí ini_set() freisin memory_limit, display_errors, open_basedir

Is contúirteach go háirithe luachanna INI_ALL: is féidir iad a athrú ó aon script. Ní féidir luachanna INI_PERDIR a athrú le ini_set(), ach is féidir trí .htaccess le mod_php nó .user.ini le PHP-FPM. An té a bhfuil cearta scríofa aige sa webroot, is é sin cód insínte freisin, is féidir leis comhaid den sórt sin a chruthú.

php_admin_value sa linn FPM agus in Apache

Le PHP-FPM tá na luachanna sa chomhad linne. Dearbhaíonn lámhleabhar PHP: ní féidir luachanna a socraíodh le php_admin_value agus php_admin_flag a scríobh os a gcionn le ini_set(). Do luachanna cumasaithe-díchumasaithe úsáid php_admin_flag, do gach ceann eile php_admin_value.

; /etc/php/8.3/fpm/pool.d/seite1.conf (sliocht)
[seite1]
user = seite1
group = seite1
listen = /run/php/seite1.sock

php_admin_value[memory_limit] = -1
php_admin_value[post_max_size] = 32M
php_admin_value[upload_max_filesize] = 24M
php_admin_flag[session.upload_progress.enabled] = off
php_admin_flag[display_errors] = off
php_admin_value[error_log] = /var/log/php/seite1-fehler.log
php_admin_value[open_basedir] = /var/www/seite1/:/tmp/seite1/

De réir php.net baineann memory_limit=-1 leis an gcumraíocht ach amháin i dteannta teorainn chuimhne trí choimeádán nó cgroup. Conas a éiríonn leis sin le systemd, tá sé san alt Teorainneacha cuimhne a shocrú le systemd agus cgroups.

In Apache le mod_php baineann na treoracha le cumraíocht an fhreastalaí nó leis an VirtualHost. De réir lámhleabhar PHP ní cheadaítear iad i .htaccess, agus nuair a bhíonn siad socraithe, ní féidir le .htaccess ná le ini_set() iad a athrú.

<VirtualHost *:443>
    ServerName www.example.de
    DocumentRoot /var/www/seite1/public
    <IfModule php_module>
        php_admin_value memory_limit -1
        php_admin_value post_max_size 32M
        php_admin_value upload_max_filesize 24M
        php_admin_flag session.upload_progress.enabled off
        php_admin_flag display_errors off
    </IfModule>
</VirtualHost>

Dhá mhionsonra ón lámhleabhar: chun luach a socraíodh roimhe seo a scriosadh, úsáid none mar luach. Agus níl brí ag tairisigh PHP ar nós E_ALL i gcumraíocht Apache; do error_reporting ní mór duit an luach uimhriúil a thabhairt ansin.

Cé na luachanna ba cheart duit a ghlasáil

Ní gá gach socrú a ghlasáil. Tá ciall leis do gach rud a bhaineann le slándáil nó a fhónann mar bheart idirthréimhseach:

  1. Luachanna idirthréimhseacha PHP2Shell ó php.net: memory_limit, post_max_size, upload_max_filesize, session.upload_progress.enabled agus ar PHP 8.5 fatal_error_backtraces.
  2. Aschur earráide agus logáil: display_errors, display_startup_errors, log_errors, error_log.
  3. Rochtain comhad agus leithlisiú: open_basedir, upload_tmp_dir, session.save_path.
  4. Rochtain líonra ó PHP: allow_url_include agus, mura bhfuil sé de dhíth ar an bhfeidhmchlár, allow_url_fopen.
  5. Feidhmeanna blocáilte trí disable_functions, a chuireann leis an liosta php.ini sa linn de réir an lámhleabhair seachas é a chur ina ionad. Mionsonraí sa treoir disable_functions a úsáid i gceart.

Le session.upload_progress.enabled tá an glasáil thar a bheith tábhachtach, mar go bhféadfaí an luach a chumasú arís trí .user.ini ar shlí eile. Tuilleadh ag session.upload_progress a mhúchadh: i gceart agus go buan.

A sheiceáil an bhfuil an glas i bhfeidhm

Tar éis gach athraithe atosaigh an tseirbhís agus seiceáil an luach sa chomhthéacs gréasáin. Léiríonn comhad seiceála gearr, a scriostar láithreach arís, an gcoinníonn an linn an luach, fiú nuair a theastaíonn ón bhfeidhmchlár é a athrú:

<?php
// Comhad seiceála: cuir síos go gairid, glaoigh air uair amháin tríd an bhfearann, scrios láithreach
header('Content-Type: text/plain');
$vorher = ini_get('memory_limit');
$versuch = @ini_set('memory_limit', '256M');
echo "memory_limit: $vorher\n";
echo 'Änderung per ini_set() ', ($versuch === false ? 'blockiert' : 'MÖGLICH'), "\n";

Táthar ag súil le -1 agus “blockiert”. Más “MÖGLICH” an t-aschur, níl an luach socraithe trí php_admin_value nó níor atosaíodh an tseirbhís fós. Déan an tseiceáil arís do gach linn agus gach leagan PHP.

Leid

Coinnigh na luachanna faoi ghlas go lárnach, mar shampla i dteimpléad linne nó i do bhainistíocht cumraíochta. Scríobhann painéil óstála os cionn comhad linne a athraíodh de láimh uaireanta an chéad uair eile a sábháiltear iad; ansin baineann na luachanna leis na réimsí a bhfuil an painéal ceaptha dóibh.

Conas a ordaíonn PHP a leibhéil chumraíochta ina n-iomláine, míníonn Míniú ar php.ini: struchtúr, leibhéil agus tosaíocht. Tá na bearta idirthréimhseacha iomlána ag Gníomhartha láithreacha mura féidir leat paistiú fós.

Conclúid: ní socraithe i ndáiríre go dtí go bhfuil sé faoi ghlas

Chuir bearta idirthréimhseacha php.net maidir le PHP2Shell idirdhealú i láthair na hintinne a cailleadh go minic roimhe seo: i gcás go leor socruithe ní moladh ach luach i php.ini, is sonrú é luach i php_admin_value. Do luachanna áise ar nós an chriosa ama is neamhthábhachtach an difríocht. Do shocruithe slándála agus do bhearta idirthréimhseacha cinneann sé an bhfuil an beart i bhfeidhm ar chor ar bith san oibríocht reatha.

Tá an t-iarracht intuigthe: dornán línte do gach linn nó VirtualHost, atosú, seiceáil ghearr. Coinnigh liosta na luachanna faoi ghlas beag agus réasúnaithe, ionas gur féidir le forbróirí a thuiscint cén fáth nach bhfuil cead ag a bhfeidhmchlár luach a athrú. Agus cothaigh an liosta i do theimpléid, ionas go bhfaigheann suíomhanna gréasáin nua go huathoibríoch é.

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

  • Leibhéil a léamh: Faighimid amach do gach suíomh gréasáin cé na luachanna ó php.ini, linn, Apache, .htaccess nó .user.ini atá i bhfeidhm i ndáiríre.
  • Glais a shocrú: Iontrálaimid luachanna a bhaineann le slándáil agus bearta idirthréimhseacha PHP2Shell mar php_admin_value nó php_admin_flag agus atosaímid na seirbhísí.
  • An feidhmchlár a thástáil: Seiceálaimid an ritheann an feidhmchlár gan earráidí leis na luachanna faoi ghlas, agus measaimid log na n-earráidí.
  • Teimpléid a chothú: Faoi chuimsiú chruachan an fhreastalaí glacaimid na luachanna isteach i dteimpléid linne agus i ndoiciméadacht.

Ceisteanna coitianta

Cad é an difríocht idir php_value agus php_admin_value?

Socraíonn an bheirt acu socrú PHP. Is féidir leis an bhfeidhmchlár luachanna ó php_value a athrú arís níos déanaí, mar shampla le ini_set() nó .htaccess. De réir lámhleabhar PHP tá luachanna ó php_admin_value agus php_admin_flag faoi ghlas do ini_set(), in Apache do .htaccess freisin.

An féidir liom php_admin_value a scríobh i gcomhad .htaccess?

Ní féidir. De réir lámhleabhar PHP ní cheadaítear php_admin_value i gcomhaid .htaccess. Baineann sé le cumraíocht fhreastalaí Apache nó leis an VirtualHost, i PHP-FPM leis an gcomhad linne.

Cad a tharlaíonn má iarrann feidhmchlár luach faoi ghlas a athrú?

Teipeann ar ghlao ini_set() agus filleann sé false, fanann an luach faoi ghlas. Éiríonn le feidhmchláir dea-chláraithe leis sin. Seiceáil log na n-earráidí agus na príomhfheidhmeanna tar éis an aistrithe mar sin féin.

An gcaithfidh mé atosú tar éis athraithe sa linn?

Caithfidh. Léann PHP-FPM na comhaid linne ag tosú nó nuair a athluchtaítear an tseirbhís. In Apache le mod_php tá an rud céanna fíor do chumraíocht an fhreastalaí. Gan atosú leanann an seanluach ar aghaidh.

An féidir disable_functions a leathnú sa linn?

Is féidir, le hairíonna ar leith: de réir lámhleabhar PHP ní scríobhann disable_functions sa linn FPM os cionn na luachanna ó php.ini, cuireann sé leo. Mar sin is féidir leis an linn tuilleadh feidhmeanna a bhlocáil, ach gan aon cheann a scaoileadh.

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