Wie aktiviere ich HTTP STRICT TRANSPORT SECURITY (HSTS) in WordPress?

Heute zeige ich euch wie du HSTS in WordPress aktivierst.

Was ist HSTS?

Ich versuche es möglichst praxisnah zu erklären. Stell dir vor du sitzt in einem Café deiner Wahl und nutzt dort das WLAN. Der Café Besitzer versteht nicht viel von EDV und hat einfach eine Fritz Box im Betrieb für das WLAN. Für dich bedeutet das, dass jeder deinen Datenverkehr in diesem WLAN mitsniffen kann. Wenn eine Seite zwar ein SSL Zertifikat hat und HTTPS nutzt kann ein Angreifer trotzdem deinen Verkehr abfangen und entschlüsseln.

Aber warum? Bei den meisten Seiten wird auf HTTPS nur umgelitten, dass bedeutet du kommst auf die Seite trotzdem erst einmal über HTTP und an diesem Punkt kann ein Angreifer die Verschlüsselung deaktivieren. HSTS sagt dem Browser aber dass Daten nur verschlüsselt akzeptiert werden. Somit wird unverschlüsselter Verkehr nicht akzeptiert.

Wie schwer ist es HSTS zu aktivieren?

Es ist sehr einfach und schade zu sehen wie wenig Mühe Webentwickler sich geben ihre Kunden zu schützen, solltest du professionelle Beratung benötigen schau hier mal vorbei Sphere Media.

Was muss ich tun?

Navigiere in deinem WordPress auf der linken Seite zu Design -> Theme-Editor

Öffne auf der rechten Seite die „functions.php“

Und füge jetzt folgenden Code hinzu:

add_action( ’send_headers‘, ‚tgm_io_strict_transport_security‘ );

function tgm_io_strict_transport_security() {header( ‚Strict-Transport-Security: max-age=31536000; includeSubDomains; preload‘ );}

Und speicher unten auf „Datei aktualisieren“

War ich erfolgreich?

Nun musst du natürlich noch testen ob du auch alles richtig gemacht hast und deine Seite nur noch verschlüsselte Inhalte zulässt. Das mache ich immer über die Seite https://webbkoll.dataskydd.net/de. Gib einfach deine Domain in die Suchleiste und lass den test laufen, wenn du alles richtig gemacht sollte es so aussehen.

konnte ich dir helfen?

Schreibe einfach alles was du loswerden willst als Kommentar und ich trete mit dir in Kontakt.

9 Gedanken zu „Wie aktiviere ich HTTP STRICT TRANSPORT SECURITY (HSTS) in WordPress?“

  1. hallo, wenn ich Seinen code copy und paste zeigt mir wordpress in der letzten Zeile (bei mir zeile 188) wäre ein fehler, und wird darum nicht akzeptiert. das habe ich eingefügt:

    add_action( ’send_headers‘, ‚tgm_io_strict_transport_security‘ );

    function tgm_io_strict_transport_security() {header( ‚Strict-Transport-Security: max-age=31536000; includeSubDomains; preload‘ );}

    und das ist der fehler den wordpress ausgibt:

    Deine PHP-Code-Änderungen wurden aufgrund eines Fehlers in Zeile 188 der Datei wp-content/themes/hello-elementor/functions.php zurückgesetzt. Bitte beheben und versuchen, erneut zu speichern.

    syntax error, unexpected ‚:‘, expecting ‚)‘

    Wo ist in eurem codeschnipsel der fehler und wie muss der code korrekt lauten? vielen dank!

    Antworten
    • Hallo Dirk, wie die Fehlermeldung sagt, kommt er mit den Zeichen nicht zurrecht. Hier ist wohl etwas in der Formatierung im Beitrag schief gegangen. Die Hochkommas ‚ sind das Problem.

      Antworten
  2. Hallo! Das gleiche Problem habe ich auch. Die Kommas sind offenbar nicht das Problem, tastet man sich ran, gibt er zuletzt die Meldung, dass er das max nicht akzeptiert.

    Antworten
  3. Hallo. Ich habe etwas Ahnung vom Coden, da ich Mediengestalter gelernt habe als man noch selbst programmieren musste ohne auf Plugins oder Baukästen zurückgreifen zu können. Habe hier für euch die korrekte Schreibweise bezüglich der Hochkommas:

    Viel Spaß damit und danke für die Vorlage. Über ein Dankeschön per Email oder sonstwie würde ich mich freuen, denn diese Website wurde gleich als erstes bei der Suche nach einer Aktivierung von HSTS angezeigt.
    Ein lieber Gruß – Micha – Peace 🙏

    Antworten
    • Das highlighting dieses Seite verändert oft Hochkommas oder Ähnliches, in den Kommentaren aller Skripte stehen aber meist schon dir Korrekturen.

      Antworten
  4. Hallo. Ich habe etwas Ahnung vom Coden, da ich Mediengestalter gelernt habe als man noch selbst programmieren musste ohne auf Plugins oder Baukästen zurückgreifen zu können. Habe hier für euch die korrekte Schreibweise bezüglich der Hochkommas, zum zweiten Mal da PHP-Tags am Anfang und ENde nicht genommen werden bei der Übertragung des Textes.

    add_action( ’send_headers‘, ‚tgm_io_strict_transport_security‘ );
    function tgm_io_strict_transport_security() {header( ‚Strict-Transport-Security: max-age=31536000; includeSubDomains; preload‘ );}

    Viel Spaß damit und danke für die Vorlage. Über ein Dankeschön per Email oder sonstwie würde ich mich freuen, denn diese Website wurde gleich als erstes bei der Suche nach einer Aktivierung von HSTS angezeigt.
    Ein lieber Gruß – Micha – Peace 🙏

    Antworten
    • Leider hat mir dein Codeschnipsel nicht geholfen:
      syntax error, unexpected ‚:‘, expecting ‚)‘
      Hast Du noch eine Idee an was das liegen könnte?

      Antworten
  5. Leider muss ich sagen, dass das Problem immer noch besteht:
    ich habe jetzt den Code von Micha genommen, immer noch das Gleiche:
    syntax error, unexpected ‚:‘, expecting ‚)‘
    Es ist einfach dieser doppelpunkt
    Strict-Transport-Security:

    Antworten
  6. Hallo,
    bin auf den Blog gestoßen und bei mir hat der Code auch nicht direkt (wegen dem syntax error) geholfen. Hier die überarbeitete Version:

    /**
    * Enables the HTTP Strict Transport Security (HSTS) header in WordPress.
    */
    function tg_enable_strict_transport_security_hsts_header_wordpress() {
    header( ‚Strict-Transport-Security: max-age=31536000′ );
    }
    add_action( ’send_headers‘, ‚tg_enable_strict_transport_security_hsts_header_wordpress‘ );

    Antworten

Schreibe einen Kommentar