Mixed Content (unverschlüsselte Inhalte auf HTTPS-Seiten)

Mixed Content heißt, dass eine per HTTPS geladene Seite Skripte, Stylesheets, Bilder oder andere Inhalte unverschlüsselt über http:// nachlädt.

So funktioniert’s

Eine Seite ist nur dann sicher übertragen, wenn auch alles, was sie nachlädt, über HTTPS kommt. Bindet eine https-Seite etwa ein Skript von http://cdn.example.com ein, geht genau diese Datei unverschlüsselt über das Netz. Wie Browser damit umgehen, beschreibt die W3C-Spezifikation Mixed Content.

Browser unterscheiden zwei Arten: Aktive Inhalte wie Skripte, Stylesheets, Iframes und Abrufe per JavaScript können die ganze Seite verändern und werden blockiert. Passive Inhalte wie Bilder, Audio und Video versuchen Chrome und Firefox inzwischen automatisch über https zu laden; klappt das nicht, bleiben sie leer oder die Seite verliert das Schloss-Symbol.

Typische Ursachen sind fest eingetragene http-Adressen in Datenbankinhalten nach der Umstellung auf HTTPS, alte Theme- oder Plugin-Dateien, eingebettete Fremdinhalte und Formulare, deren Ziel noch mit http:// beginnt.

Warum gefährlich

Blockierte Skripte und Stylesheets brechen Layout und Funktionen: Menüs klappen nicht auf, der Warenkorb reagiert nicht, Consent-Banner oder Formulare fehlen. Weil das erst im Browser passiert, sieht ein einfacher Erreichbarkeitstest davon nichts.

Was unverschlüsselt durchkommt, kann unterwegs mitgelesen oder ausgetauscht werden, etwa in einem öffentlichen WLAN. Am schwersten wiegt ein Formular mit http-Ziel: Passwörter, Kontakt- und Zahlungsdaten gehen dann im Klartext über das Netz, und Browser warnen beim Absenden.

So vermeidest du es

  1. Ersetze fest eingetragene http-Adressen durch https, in WordPress etwa per WP-CLI mit wp search-replace "http://example.com" "https://example.com" (vorher ein Backup ziehen).
  2. Durchsuche Theme, Plugins und eigene Templates nach hart codierten http-Links zu Schriften, Skripten und Bildern.
  3. Setze die Content-Security-Policy-Direktive upgrade-insecure-requests als Sicherheitsnetz, damit Browser verbliebene http-Adressen selbst auf https umschreiben.
  4. Stelle Formularziele und eingebettete Dienste auf https um oder ersetze Dienste, die kein HTTPS anbieten.
  5. Leite http dauerhaft auf https weiter und aktiviere HSTS, damit die Seite selbst nie unverschlüsselt ausgeliefert wird.

So erkennt DomainWarn es

Der Check Seitengesundheit wertet den täglichen Browser-Besuch der Startseite aus: Bindet die https-Seite Inhalte über http ein, gibt es eine Warnung und sofort den Incident „Unsichere Inhalte (Mixed Content)“. Schickt ein Formular seine Eingaben an eine http-Adresse, ist das kritisch und eröffnet „Formular ohne Verschlüsselung“.

Der Website-Check untersucht zusätzlich bis zu 50 HTML-Seiten aus Sitemap und internen Links: Skripte, Stylesheets, Frames, Objekte oder Formularziele über http:// sind kritisch und eröffnen den Incident „Mixed Content: Skripte oder Stylesheets über http“, Bilder und Medien über http:// sind eine Warnung. Protokoll-relative Adressen (//…) zählen nicht. Das kostenlose Tool Website-Check zeigt dieselben Befunde für einen einzelnen Lauf.

DomainWarn prüft das für alle deine Domains regelmäßig und meldet sich, wenn etwas fehlt oder sich ändert.

Diese Domain dauerhaft überwachen14 Tage kostenlos testen, keine Kreditkarte.