← Alle Checks
SicherheitTypische Schwere: Mittel

Scanner für Mixed Content

Erkennt über HTTP geladene Ressourcen auf einer HTTPS-Seite, die unverschlüsselt übertragen werden und das Schloss brechen.

Was es prüft

Dieser Scanner erkennt Ressourcen wie Bilder, Skripte oder Styles, die deine HTTPS-Seite über unverschlüsseltes HTTP lädt. Diese Mischung nennt man Mixed Content. Der Scanner prüft die Verweise der Seite, um herauszufinden, welche kein HTTPS nutzen.

Warum es wichtig ist

Mixed Content wird unverschlüsselt übertragen und kann daher abgefangen oder manipuliert werden, selbst wenn der Rest der Seite sicher ist. Außerdem kann der Browser diese Ressourcen blockieren oder das Schloss entfernen, sodass die Seite unsicher wirkt. Im schlimmsten Fall kompromittiert ein über HTTP geladenes Skript die ganze Seite.

Wie man es behebt

Ändere alle Ressourcen-Verweise so, dass sie mit https statt mit http beginnen. Achte besonders auf Links zu externen Bibliotheken, Bilder und alte Schriften. Wenn eine externe Ressource kein HTTPS bietet, such eine Alternative oder hoste sie selbst auf sichere Weise.

Wie diese Prüfung funktioniert

Scanaris liest das HTML deiner über HTTPS ausgelieferten Seite und sucht nach Verweisen auf Ressourcen, die mit http:// beginnen: Skripte, Stylesheets, Iframes, Bilder, Videos, Audio und Schriften. Er teilt sie in zwei Gruppen. Aktiver Mixed Content (Skripte, Styles, Iframes) öffnet einen Befund mit mittlerem Schweregrad, weil diese Ressourcen Code ausführen oder die Seite verändern können. Passiver Mixed Content (Bilder, Video, Audio) öffnet einen Befund mit niedrigem Schweregrad: Er führt nichts aus, reist aber im Klartext und bricht das Schloss. Geprüft werden nur die Verweise im anfänglichen HTML; Ressourcen, die später per JavaScript hinzukommen, werden auf diesem Weg nicht gesehen.

Warum das wichtig ist

Ein per HTTP geladenes Skript in einer HTTPS-Seite ist der schlimmste Fall: Wer das Netz kontrolliert, kann es durch ein anderes ersetzen und in deiner Seite ausführen, was er will, mit der Sitzung des Nutzers. Deshalb blockieren moderne Browser es schlicht, und deine Seite geht an dieser Stelle still kaputt. Bei Bildern lädt der Browser sie, nimmt aber das Schloss weg oder zeigt eine „Nicht sicher"-Warnung, die der Nutzer sieht. In beiden Fällen ist die Botschaft dieselbe: Die Seite gibt vor, sicher zu sein, und ist es nicht ganz.

Woher das kommt

Fast immer aus altem Code: URLs, die vor Jahren aus einem Tutorial oder Template kopiert wurden, eine Bibliothek von einem CDN, das damals kein HTTPS hatte, Bilder aus einem migrierten Blog oder ein Datenbankfeld mit der vollständigen URL eines Bildes, das hochgeladen wurde, als die Seite noch auf HTTP lief. Bei WordPress ist das typisch nach einem Wechsel von HTTP auf HTTPS ohne Aktualisierung der gespeicherten URLs.

So behebst du es

  • Ändere die Verweise auf https:// oder auf relative Pfade (/images/foto.jpg), die das Protokoll der Seite erben. Das ist die richtige und endgültige Lösung.
  • Wenn eine externe Ressource kein HTTPS hat, lade sie herunter und liefere sie von deiner Domain aus, oder such eine andere Quelle. 2026 läuft fast nichts Legitimes mehr nur über HTTP.
  • Bei WordPress aktualisierst du die in der Datenbank gespeicherten URLs mit einem Suchen-und-Ersetzen-Tool, das die Serialisierung respektiert, und prüfst die Site-URLs in den allgemeinen Einstellungen.
  • Als Sicherheitsnetz sagt die CSP-Direktive upgrade-insecure-requests dem Browser, http://-Anfragen deiner Seite automatisch in https:// umzuwandeln. Das hilft, während du den Code aufräumst, ersetzt das Aufräumen aber nicht: Die Ressource muss über HTTPS existieren, damit es funktioniert.
Content-Security-Policy: upgrade-insecure-requests

Prüf, ob es behoben ist

curl -s https://deinedomain.de | grep -oE '(src|href)="http://[^"]+"' | sort -u

Es darf nichts herauskommen. Öffne dann die Seite mit der Browser-Konsole: Jede per JavaScript geladene gemischte Ressource erscheint dort als Warnung oder Blockierung.

Häufige Fragen

Meine Seite lädt einwandfrei und hat das Schloss. Warum wird das gemeldet?

Weil der Browser die Ressource vielleicht still blockiert oder sie von sich aus auf HTTPS hebt. Der Verweis in deinem HTML bleibt auf http://, und andere Clients (Bots, alte Browser, E-Mails) machen diese Korrektur nicht.

Sind URLs, die mit // beginnen, Mixed Content?

Nein. Protokollrelative URLs erben das Protokoll der Seite und laden auf HTTPS über HTTPS. Trotzdem wird heute empfohlen, direkt https:// zu schreiben.

Zählt ein Link <a href="http://…">?

Nein. Ein Link lädt nichts in deine Seite; er bringt den Nutzer nur woandershin. Mixed Content ist das, was die Seite einbettet.

Prüf es auf deiner Website

Scanne deine Website kostenlos und sieh, ob dieser und 44 weitere Checks bestehen, mit einem Fix-Prompt für jedes Problem.

Meine Website kostenlos scannen

Aus dem Blog

Verwandte Checks