Headereintrag „X-Powered-By“ von PHP abschalten

PHP gibt sich gerne als Plaudertasche und erzählt brav jedem Besucher in dem Header der Verbindung, dass es für den zurückgegebenen Inhalt verantwortlich ist. Das sieht dann ungefähr so aus:

HTTP/1.x 200 OK
Date: Fri, 29 Jun 2007 08:28:04 GMT
Server: Apache/2.2.3 (Debian) PHP/4.4.4-8+etch3 mod_perl/2.0.2 Perl/v5.8.8

X-Powered-By: PHP/4.4.4-8+etch3

Content-Length: 481
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Content-Type: text/html

Nun gehen die Meinung er SEO-Leute auseinander, manche behaupten, mod_rewrite-Regeln, die z.B. .html-Seiten vorgaukeln, wären nicht effektiv, wenn im Header eh steht, dass die Seite von PHP gerendert wurde. Um nun PHP das Senden dieser Header-Zeile abzugewöhnen, muss man lediglich in der php.ini den Wert von expose_php auf Off setzen.

Anschließend ist PHP mucksmäuschenstill. :-)

;
; Misc
;
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
expose_php = Off

Nachtrag vom 06.11.2011:
Da es in die gleiche Richtung geht, hier der Hinweis, dass ich in dem Artikel Apache sehr extravertiert – Signatur verbergen und Token anpassen beschrieben habe, wie man dem Apache sein von Haus aus sehr gesprächige Art eindämmen kann.

War dieser Artikel hilfreich für Sie?
[Gesamt: 0 Durchschnitt: 0]

11 thoughts on “Headereintrag „X-Powered-By“ von PHP abschalten

  1. Tom sagt:

    Hehe…
    nicht schlecht, auf die Idee bin ich noch gar nicht gekommen…

    lg

  2. Chris sagt:

    Danke für den Tipp. An diesen Punkt habe ich, genau wie mein Vorredner, noch nicht gedacht.

    Ist aber nun auf allen Server umgesetzt. Hört sich ja plausibel an.

    Danke

  3. vinc sagt:

    hehe „x powered by abschalten“ bist du in google auf Platz 1. Also merci für die kurze Anleitung

  4. GwenDragon sagt:

    Den zu gesprächigen Header kann man auch komplett durch Apache entfernen.

    Das geht über folgende Apache-Konfiguration:

    Header unset X-Powered-By

  5. GwenDragon sagt:

    Den zu gesprächigen Header kann man auch komplett durch Apache entfernen.

    Das geht über folgende Apache-Konfiguration:
    <IfModule mod_headers.c>
    Header unset X-Powered-By
    </IfModule>

  6. GwenDragon sagt:

    Ansonsten empfiehlt sich sowieso die Information über den Server und geladenen Module zu minimieren mit:

    ServerSignature Off
    ServerTokens Prod

  7. Ronald sagt:

    Hi GwenDragon,

    danke für deine Hinweise. ServerSignature und ServerTokens hab ich auch schon hier behandelt, ich werd’s mal in den Artikel mit aufnehmen.
    Die von dir vorgeschlagene Variante mit „Header unset“ funktioniert gut, ist aber sicher nicht der optimale Weg, da PHP das „X-Powered-By“ trotzdem generiert und Apache es wieder wegschneidet. Da ist das Abschalten in PHP sicher die sinnvollere Lösung – natürlich immer vorausgesetzt, man hat die entsprechenden Serverrechte.

  8. Tommy sagt:

    Es ist sehr hilfreich! Danke fürs Tipp. Aber was soll ich tun wenn ich nicht genug ServerRechte besitze bei meinem Proweider?

  9. Verena sagt:

    Vielen Dank
    Ich habe Ihre beide Tipps:

    Header unset X-Powered-By

    ServerSignature Off
    ServerTokens Prod

    umgesetzt.

  10. Samba sagt:

    Hi zusammen, zum Thema „in der php.ini den Wert von expose_php auf Off setzen.“: Ich habe einen OXID Shop, da steht in der php.ini lediglich:
    zend_optimizer.optimization_level=15
    zend_extension=/homepages/37/d84303467/htdocs/zend/ZendOptimizer.so
    Was ist in so einem Fall zu tun?

  11. Stephan sagt:

    Hallo,
    ich nutze WordPress für unsere Seite. Bei WordPress gibt es mehrere php.ini Dateien, z.B. eine im Root-Verzeichnis, eine im wp-content-Verzeichnis und eine im wp-content/themes-Verzeichnis. Welche ist zu wählen?

    Danke für Deine/eure Hilfe.

    Grüße
    Stephan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *