Eigene HTTP-Header setzen

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
deka
Regular
Posts: 41
Joined: Tue Jun 05, 2012 1:38 pm

Eigene HTTP-Header setzen

Post by deka »

Ich würde gern auf meinem Blog diverse HTTP-Header setzen (CSP, X-Frame-Options, HSTS etc.). Normalerweise reicht es, wenn man die in die .htaccess wirft, im Falle muss ich aber dem PHP Bescheid geben. Also brauche ich im Code sowas wie:

Code: Select all

<?php
header('Foo: Bar');
?>
Das kann ich zwar recht einfach meinem S9Y beibringen. Jedoch wird das bei jedem Update überschrieben werden. Was wäre daher der beste Weg, um die Header so zu setzen, dass die ein Upgrade überleben?
onli
Regular
Posts: 2825
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: Eigene HTTP-Header setzen

Post by onli »

Im Zweifel könntest du das in serendipity_config_local.inc.php steckend.
deka
Regular
Posts: 41
Joined: Tue Jun 05, 2012 1:38 pm

Re: Eigene HTTP-Header setzen

Post by deka »

Vielen Dank. Jetzt muss ich mir nur noch anschauen (oder ergooglen) wie ich das mache. :-)
deka
Regular
Posts: 41
Joined: Tue Jun 05, 2012 1:38 pm

Re: Eigene HTTP-Header setzen

Post by deka »

Das war einfacher als gedacht. Einfach den betreffenden PHP-Code in die Datei reinschreiben. Beispiel:

Code: Select all

header('X-Content-Type-Options: nosniff');
onli
Regular
Posts: 2825
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: Eigene HTTP-Header setzen

Post by onli »

Jep, so wars gedacht.

Achte bitte allerdings darauf, dass Serendipity eine ganze Reihe von Headern auch selbst setzt. Die config_local wird ziemlich am Anfang gelesen und ausgeführt, das heißt dass die Serendipity-Header später kommen könnten. Und ich bin mir gerade gar nicht sicher, ob sie dann deinen Header überschreiben oder wie der Browser auf doppelte Header reagieren würde.
deka
Regular
Posts: 41
Joined: Tue Jun 05, 2012 1:38 pm

Re: Eigene HTTP-Header setzen

Post by deka »

Ich bin letztlich doch einen anderen Weg gegangen, da ich nicht nur S9Y als PHP-Anwendung betreibe. Ich müsste in jeder Anwendung eben die individuellen Header setzen. Das war mir zu mühselig.
Daher arbeite ich jetzt mit einer Einstellung in der php.ini. Dort gibt es auto-prepend-file. Die Werte in der Datei greifen dann bei allen Anwendungen.
Post Reply