Comment puis-je 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 en php car elle n'est pas prise en charge par la version 5.21. J'ai utilisé Header unset X-Powered-By, cela fonctionnait sur ma machine locale, mais pas sur mon serveur de production.
Si php ne supporte pas header_remove () pour ver <5.3, existe-t-il une alternative?
php
http-headers
Castor
la source
la source
Réponses:
Je pense que cela est contrôlé par le
expose_php
paramètre de PHP.ini :Il n'y a pas de risque de sécurité direct, mais comme le note David C, exposer une version obsolète (et probablement vulnérable) de PHP peut être une invitation pour les gens à essayer de l'attaquer.
la source
https://secure.php.net/manual/en/function.header-remove.php
la source
expose_php = off
ne fonctionne pas dans les fichiers .htaccess ni php.Si vous ne pouvez pas désactiver la directive expose_php pour couper la conversation de PHP (nécessite un accès au php.ini ), vous pouvez utiliser la
Header
directive Apache pour supprimer le champ d'en-tête:la source
la source
Si vous avez un accès à php.ini, définissez
expose_php = Off
.la source
Si vous utilisez FastCGI, essayez:
la source
Essayez d'ajouter un appel d'en-tête () avant d'envoyer des en-têtes, comme:
quel que soit le paramètre expose_php dans php.ini
la source
Cette solution a fonctionné pour moi :)
Veuillez ajouter la ligne ci-dessous dans le script et vérifier.
Les paramètres de niveau Ngnix / Apache etc. peuvent ne pas être requis.
la source