web-dev-qa-db-fra.com

Supprimer X-Powered-By

  1. Comment supprimer l'en-tête X-Powered-By en PHP? Je suis sur un serveur Apache et j'utilise PHP 5.21 . Je ne peux pas utiliser la fonction header_remove dans PHP car elle n'est pas prise en charge par 5.21. J'ai utilisé Header non défini X-Powered-By, cela fonctionnait sur ma machine locale, mais pas sur mon serveur de production.

  2. Si php ne prend pas en charge header_remove () pour la version <5.3, existe-t-il une alternative?

121
Castor

Je pense que cela est contrôlé par le paramètre expose_php dans PHP.ini :

expose_php = off

Détermine si PHP peut exposer le fait qu'il est installé sur le serveur (par exemple, en ajoutant sa signature à l'en-tête du serveur Web). Il ne s'agit en aucun cas d'une menace pour la sécurité, mais cela permet de déterminer si vous utilisez ou non PHP sur votre serveur. 

Il n'y a pas de risque direct pour la sécurité, mais, comme le note David C, exposer une version obsolète (et éventuellement vulnérable) de PHP peut être une invitation à une attaque.

214
Pekka 웃
68
Pepper

Si vous ne pouvez pas désactiver la directive expose_php pour mettre en sourdine la causalité de PHP (nécessite l'accès au php.ini), vous pouvez utiliser directive Header d'Apache pour supprimer champ d'en-tête:

Header unset X-Powered-By
48
Gumbo
if (function_exists('header_remove')) {
    header_remove('X-Powered-By'); // PHP 5.3+
} else {
    @ini_set('expose_php', 'off');
}
19
luchaninov

Si vous avez accès au fichier php.ini, définissez expose_php = Off.

13
Arseni Mourzenko

Essayez d’ajouter un appel header () avant d’envoyer des en-têtes, comme ceci:

header('X-Powered-By: Our company\'s development team');

quel que soit le réglage expose_php dans php.ini

2
Daniel Faure

Si vous utilisez FastCGI, essayez:

fastcgi_hide_header X-Powered-By;
1
Tinus Guichelaar

Cette solution a fonctionné pour moi :)

S'il vous plaît ajouter la ligne ci-dessous dans le script et vérifier. 

Les paramètres de niveau Nginx/Apache, etc. peuvent ne pas être requis.

header("Server:");
0
Walk