Zum Inhalt
Website-Checkvon pandaworks

← Alle Punkte · Sicherheit

Gemischte Inhalte (Mixed Content)

Was geprüft

Gesucht wird im HTML der https://-Seite nach Inhalten, die über http:// eingebunden sind. Aktiv heißen Skripte, Stylesheets und Frames, passiv Bilder, Audio und Video. Gezählt wird, was im HTML eingebunden ist; ob der Browser es tatsächlich lädt, misst der Check nicht, weil er ohne Browser arbeitet. Wird die Seite selbst über http:// ausgeliefert, trifft der Punkt nicht zu.

Wie relevant

Hoch bei aktiven Inhalten, weil Browser sie blockieren und dadurch Teile der Seite ausfallen können. Niedrig bei passiven Inhalten, weil Browser diese meist automatisch auf https:// umstellen oder nur einen Hinweis zeigen.

Warum

Über http:// geladene Inhalte können unterwegs verändert werden und heben die Verschlüsselung der Seite teilweise auf. Blockierte Skripte oder Stylesheets führen zu fehlender Gestaltung oder Funktion; Besucher sehen das, ohne die Ursache zu kennen.

Wie beheben

Ändern Sie die Adressen auf https:// oder auf relative Pfade. Steht der Fremdanbieter nicht über https:// zur Verfügung, legen Sie die Datei auf den eigenen Server. Als Übergang kann die CSP-Direktive upgrade-insecure-requests die Anfragen im Browser umschreiben, ersetzt aber nicht die Korrektur.

Nebenwirkung: Ein Suchen-und-Ersetzen direkt in der Datenbank zerstört serialisierte Daten (etwa Widget- und Plugin-Einstellungen). Verwenden Sie Werkzeuge, die damit umgehen, legen Sie vorher eine Sicherung an und machen Sie einen Probelauf. Danach Seiten- und CDN-Cache leeren, sonst sehen Sie den alten Stand.

WordPress: Mit WP-CLI ersetzen Sie Adressen sicher: zuerst mit --dry-run prüfen, dann ausführen. Fest eingetragene http://-Adressen finden sich außerdem oft im Theme, im Customizer (Zusätzliches CSS) und in Seitenbaukästen.

Codebeispiel

WP-CLI (WordPress)

wp search-replace 'http://beispiel.de' 'https://beispiel.de' --all-tables --dry-run
wp search-replace 'http://beispiel.de' 'https://beispiel.de' --all-tables

HTML

<!-- statt -->
<script src="http://cdn.example.com/widget.js"></script>
<!-- besser -->
<script src="https://cdn.example.com/widget.js"></script>

Apache (.htaccess) — Übergang

<IfModule mod_headers.c>
    Header always set Content-Security-Policy "upgrade-insecure-requests"
</IfModule>

Weiterführende Quellen

Quellen der Methodik

  • docs/SCORING.md — Status und Schweregrade (§2), Kategoriescore und Abdeckung (§3), Gesamtwert (§4), keine Doppelabzüge (§5), Prüfkatalog mit Gewichten (§6), Versionierung (§8), Formulierungsregeln (§9), bewusst nicht geprüft (§10)
  • docs/KALIBRIERUNG.md — Abgleich der Schwerefaktoren und Kappen mit externen Ankern (Web Almanac, Lighthouse, MDN HTTP Observatory, SSL Labs), Entscheidung scoring@1.4.0