Kaip paslėpti PHP versijos numerį HTTP antraštėje


Pagal numatytuosius nustatymus PHP konfigūracija leidžia serverio HTTP atsakymo antraštėje „X-Powered-By“ rodyti serveryje įdiegtą PHP versiją.

Dėl serverio saugumo priežasčių (nors tai nėra didelė grėsmė, dėl kurios nerimauti) rekomenduojama išjungti šią informaciją arba ją slėpti užpuolikams, kurie gali būti nukreipti į jūsų serverį, norėdami sužinoti, ar naudojate PHP, ar ne.

Darant prielaidą, kad tam tikroje PHP versijoje, įdiegtoje jūsų serveryje, yra saugumo spragų, ir, kita vertus, užpuolikai tai sužino, jiems bus daug lengviau išnaudoti pažeidžiamumus ir naudotis scenarijais.

Ankstesniame straipsnyje aš parodžiau, kaip paslėpti „Apache“ versijos numerį, kur matėte, kaip išjungti „Apache“ įdiegtą versiją. Bet jei jūsų „apache“ žiniatinklio serveryje naudojate PHP, taip pat turite paslėpti įdiegtą PHP versiją, ir tai mes parodysime šiame straipsnyje.

Todėl šiame įraše paaiškinsime, kaip paslėpti arba išjungti rodyti PHP versijos numerį serverio HTTP atsakymo antraštėje.

Šį nustatymą galima sukonfigūruoti įkeltame PHP konfigūracijos faile. Jei nežinote šio konfigūracijos failo vietos savo serveryje, paleiskite toliau pateiktą komandą, kad ją rastumėte:

$ php -i | grep "Loaded Configuration File"
---------------- On CentOS/RHEL/Fedora ---------------- 
Loaded Configuration File => /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
Loaded Configuration File => /etc/php/7.0/cli/php.ini

Prieš atlikdami bet kokius PHP konfigūracijos failo pakeitimus, siūlau pirmiausia padaryti atsarginę PHP konfigūracijos failo atsarginę kopiją taip:

---------------- On CentOS/RHEL/Fedora ---------------- 
$ sudo cp /etc/php.ini /etc/php.ini.orig

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
$ sudo cp /etc/php/7.0/cli/php.ini  /etc/php/7.0/cli/php.ini.orig  

Tada atidarykite failą naudodami mėgstamą redaktorių su tokiomis ypatingomis vartotojo teisėmis:

---------------- On CentOS/RHEL/Fedora ---------------- 
$ sudo vi /etc/php.ini

---------------- On Debian/Ubuntu/Linux Mint ---------------- 
$ sudo vi /etc/php/7.0/cli/php.ini

Suraskite raktinį žodį expose_php ir nustatykite jo vertę į Off:

expose_php = off

Išsaugokite failą ir išeikite. Po to iš naujo paleiskite žiniatinklio serverį taip:

---------------- On SystemD ---------------- 
$ sudo systemctl restart httpd
$ sudo systemctl restart apache2 

---------------- On SysVInit ---------------- 
$ sudo service httpd restart
$ sudo service apache2 restart

Paskutinis, bet ne mažiau svarbus dalykas, patikrinkite, ar serverio HTTP atsakymo antraštėje vis dar rodomas jūsų PHP versijos numeris, naudodami toliau pateiktą komandą.

$ lynx -head -mime_header http://localhost 
OR
$ lynx -head -mime_header http://server-address

kur vėliavos:

  1. -head - siunčia HEAD užklausą „MIME“ antraštėms.
  2. -mime_header - atspausdina gauto dokumento MIME antraštę kartu su šaltiniu.

Pastaba: įsitikinkite, kad jūsų sistemoje įdiegta „Lynx“ - komandinės eilutės naršyklė.

Viskas! Šiame straipsnyje mes paaiškinome, kaip paslėpti PHP versijos numerį serverio HTTP atsakymo antraštėje, kad apsaugotumėte žiniatinklio serverį nuo galimų atakų. Galite pridėti nuomonę prie šio įrašo arba galbūt užduoti bet kokį susijusį klausimą naudodami toliau pateiktą komentaro formą.