Jak mogę usunąć nagłówek X-Powered-By w PHP? Jestem na serwerze Apache i używam php 5.21. Nie mogę użyć funkcji header_remove w php, ponieważ nie jest ona obsługiwana przez 5.21. Użyłem Header unset X-Powered-By, działał na mojej lokalnej maszynie, ale nie na moim serwerze produkcyjnym.
Jeśli php nie obsługuje funkcji header_remove () dla wersji <5.3, czy istnieje alternatywa?
php
http-headers
Rolka
źródło
źródło
Odpowiedzi:
Myślę, że jest to kontrolowane przez
expose_php
ustawienie w PHP.ini :Nie ma bezpośredniego zagrożenia bezpieczeństwa, ale jak zauważa David C, ujawnienie przestarzałej (i prawdopodobnie podatnej na ataki) wersji PHP może być zaproszeniem do próby jej zaatakowania.
źródło
https://secure.php.net/manual/en/function.header-remove.php
źródło
expose_php = off
nie działa w .htaccess ani pliku php.Jeśli nie możesz wyłączyć dyrektywy expose_php, aby wyciszyć gadatliwość PHP (wymaga dostępu do php.ini ), możesz użyć dyrektywy Apache,
Header
aby usunąć pole nagłówka:źródło
źródło
Jeśli masz dostęp do php.ini, ustaw
expose_php = Off
.źródło
Jeśli używasz FastCGI, spróbuj:
źródło
Spróbuj dodać wywołanie header () przed wysłaniem nagłówków, na przykład:
niezależnie od ustawienia expose_php w php.ini
źródło
To rozwiązanie zadziałało u mnie :)
Dodaj poniższą linię do skryptu i sprawdź.
Ustawienia poziomu Ngnix / Apache itp. Mogą nie być wymagane.
źródło