2016-05-05 16 views
11

Ich zwinge https auf meine Website zugreifen, aber einige der Inhalte müssen über http geladen werden (zum Beispiel Videoinhalte können nicht über https sein), aber die Browser blockieren die Anfrage wegen mixed-contents Richtlinie.Wie kann ich gemischte Inhalte (http mit https) mit Content-Security-Policy-Meta-Tags zulassen?

Nach stundenlanger Suche habe ich festgestellt, dass ich Content-Security-Policy verwenden kann, aber ich habe keine Ahnung, wie man gemischte Inhalte damit zulässt.

<meta http-equiv="Content-Security-Policy" content="????"> 

Antwort

10

Sie können nicht.

CSP ist dazu da, den Inhalt Ihrer Website einzuschränken, nicht um die Browserbeschränkungen zu lockern.

Sichere HTTPS-Sites geben den Benutzern bestimmte Garantien und es ist nicht wirklich fair, dann HTTP-Inhalte darüber zu laden (daher die gemischten Inhalt Warnungen) und wirklich nicht fair, wenn Sie diese Warnungen verbergen könnten, ohne Ihre Zustimmung.

Sie können CSP für ein paar Dinge, eine Migration auf https zu unterstützen, zum Beispiel:

  1. Sie können es verwenden, um automatisch HTTP-Anforderung an https aktualisieren (wenn auch Browser-Unterstützung ist nicht universell) . Dies hilft Ihnen, falls Sie es versäumt haben, einen http-Link zu https zu ändern. Dies setzt jedoch voraus, dass die Ressource über https geladen werden kann und dass sie so klingt, als ob sie nicht über https geladen werden könnten, so dass dies keine Option ist. Sie können CSP auch verwenden, um HTTP-Ressourcen auf Ihrer Website zu identifizieren, die Sie übersehen haben, indem Sie eine Nachricht an einen Dienst zurückmelden, den Sie überwachen können, um eine HTTP-Ressource zu laden. Auf diese Weise können Sie die http-Links zu https ermitteln und beheben, sodass Sie nicht auf das oben beschriebene automatische Upgrade angewiesen sind.

Aber das ist auch nicht das, wonach Sie wirklich suchen.

+0

kann die Sicherheit über den Origin Response Header gelockert werden? Ich habe mir das Meta-Tag angeschaut, da es sich einfacher anhört. –

+0

Nein. Es wird nur verwendet, um die Sicherheitsrichtlinien zu straffen - nicht lockern. Wie in meiner Antwort erwähnt. –

1

Sie sollten nicht ... aber Sie können, ist die Funktion demonstriert here ein HTTP-PNG-Bild konvertiert on-the-Fly zu HTTPS.

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 

Es gibt auch eine neue Berechtigungen API, described here, dass ein Web-Server ermöglicht die Berechtigungen des Benutzers für Funktionen wie Geolocation, Schieben, Benachrichtigung und Web MIDI zu überprüfen.

Verwandte Themen