it-swarm.com.de

Warum wird in Firefox plötzlich das Problem "Blockiertes Laden gemischter aktiver Inhalte" angezeigt?

Heute Morgen, nach dem Upgrade meines Firefox-Browsers auf die neueste Version (von 22 auf 23), funktionierten einige der wichtigsten Aspekte meines Backoffice (meiner Website) nicht mehr.

Im Firebug-Protokoll wurden die folgenden Fehler gemeldet:

Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"`

unter anderem, weil der letztere der beiden oben genannten Fehler nicht geladen wurde.

Was bedeutet das oben Genannte und wie löse ich es?

333
Appulus

Ich habe diesen Blog-Beitrag gefunden, der ein paar Dinge geklärt hat. So zitieren Sie das relevanteste Bit:

Mixed Active Content ist jetzt in Firefox 23 standardmäßig gesperrt!

Was ist gemischter Inhalt?
Wenn ein Benutzer eine Seite besucht, die über HTTP bereitgestellt wird, ist seine Verbindung offen für Abhör- und Man-in-the-Middle-Angriffe (MITM). Wenn ein Benutzer eine Seite besucht, die über HTTPS bereitgestellt wird, wird seine Verbindung mit dem Webserver authentifiziert und mit SSL verschlüsselt und somit vor Abhör- und MITM-Angriffen geschützt.

Wenn eine HTTPS-Seite jedoch HTTP-Inhalt enthält, kann der HTTP-Teil von Angreifern gelesen oder geändert werden, obwohl die Hauptseite über HTTPS bereitgestellt wird. Wenn eine HTTPS-Seite HTTP-Inhalt enthält, wird dieser Inhalt als "gemischt" bezeichnet. Die Webseite, die der Benutzer besucht, ist nur teilweise verschlüsselt, da ein Teil des Inhalts unverschlüsselt über HTTP abgerufen wird. Der Mixed Content Blocker blockiert bestimmte HTTP-Anforderungen auf HTTPS-Seiten.

Die Lösung bestand in meinem Fall einfach darin, sicherzustellen, dass die jquery -Einschlüsse wie folgt lauten (beachten Sie das Entfernen des Protokolls):

<link rel="stylesheet" href="//code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css" type="text/css">
<script type="text/javascript" src="//ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"></script>

Beachten Sie, dass die vorübergehende Korrektur durch Klicken auf das Schildsymbol in der oberen linken Ecke der Adressleiste und Auswahl von "Schutz auf dieser Seite deaktivieren" erfolgt. Dies ist jedoch aus offensichtlichen Gründen nicht empfohlen .

UPDATE: Dieser Link von den Firefox (Mozilla) -Unterstützungsseiten ist auch nützlich, um zu erklären, was gemischten Inhalt darstellt.

Die meisten Websites funktionieren weiterhin ohne Ihr Zutun.

Wenn Sie zulassen möchten, dass der gemischte Inhalt angezeigt wird, können Sie dies auf einfache Weise tun:

Klicken Sie in der Adressleiste auf das Schildsymbol Mixed Content Shield und wählen Sie im Dropdown-Menü die Option Schutz auf dieser Seite deaktivieren.

Das Symbol in der Adressleiste ändert sich in ein orangefarbenes Warndreieck, um Sie daran zu erinnern, dass unsicherer Inhalt angezeigt wird.

Um die vorherige Aktion zurückzusetzen (gemischten Inhalt erneut zu blockieren), laden Sie einfach die Seite neu.

401
Appulus

Dies bedeutet, dass Sie http von https aus anrufen. Sie können src="//url.to/script.js" in Ihrem Skript-Tag verwenden und es wird automatisch erkannt.

Alternativ können Sie https in Ihrem src verwenden, auch wenn Sie es auf einer http-Seite veröffentlichen. Dadurch wird das in den Kommentaren erwähnte potenzielle Problem vermieden.

128

In Ermangelung einer Whitelist-Funktion müssen Sie die Wahl zwischen "Alles" und "Nichts" treffen. Sie können die Blockierung gemischter Inhalte vollständig deaktivieren.


Die Nichts-Wahl

Sie müssen die Blockierung gemischter Inhalte für das derzeit aktive Profil dauerhaft deaktivieren.

Geben Sie in der "Awesome Bar" "about: config" ein. Wenn dies Ihr erstes Mal ist, erhalten Sie die Meldung "Dadurch erlischt möglicherweise Ihre Garantie!". Botschaft.

Ja, Sie werden vorsichtig sein. Ja, du versprichst es!

Suchen Sie nach security.mixed_content.block_active_content . Setzen Sie seinen Wert auf false .


The All Choice

iDevelApp 's Antwort ist fantastisch.

51
DRaehal

Wenn Sie die Anforderung für gemischte Inhalte zulassen möchten, fügen Sie das folgende Tag in das Tag <head> ein.

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

Wenn Sie blockieren möchten, fügen Sie das folgende Tag in das <head> -Tag ein:

_<meta http-equiv="Content-Security-Policy" content="block-all-mixed-content">
_
21
tapas talukder

Wenn Sie einen internen Dienst über AJAX in Anspruch nehmen, vergewissern Sie sich, dass die URL auf https verweist. Dadurch wurde der Fehler für mich behoben.

Anfängliche AJAX URL: " http://XXXXXX.com/Core.svc/ " + ApiName
AJAX URL korrigiert: " https://XXXXXX.com/Core.svc/ " + ApiName,

10

Sein gegebener Fehler wegen der Sicherheit. Verwenden Sie dazu bitte "https" und nicht "http" in der Website-URL.

Beispielsweise :

   "https://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
   "https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"
9
Amit Naraniwal

Auf der entsprechenden Seite, die einen nicht zugänglichen https to http-Aufruf mit gemischtem Inhalt erstellt, können wir den folgenden Eintrag in den entsprechenden Eintrag einfügen und den Fehler mit gemischtem Inhalt beseitigen.

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

Ich hatte das gleiche Problem, weil ich eine CSS-Vorlage gekauft habe und sie über http://whatever.js.com/javascript.js ein Javascript und eine externe Javascript-Datei abgerufen hat. Ich bin in meinem Browser zu dieser Seite gegangen und habe sie dann mit SSL in https://whatever... geändert. In meinem HTML-Javascript-Tag habe ich die URL so geändert, dass https anstelle von http und verwendet wird es funktionierte.

5
Sarah

Um die Weiterleitung für das https-Protokoll zu erzwingen, können Sie diese Anweisung auch in .htaccess im Stammordner hinzufügen

RewriteEngine on

RewriteCond %{REQUEST_SCHEME} =http

RewriteRule (.*) https://%{HTTP_Host}%{REQUEST_URI} [R=301,L]
4
Massimiliano

Ich habe das gleiche Problem, wenn meine Website von http zu https wechselt. Wir haben die Regel für alle Anfragen hinzugefügt, http zu https umzuleiten.

Sie müssen die Umleitungsregel für standortübergreifende Anforderungen hinzufügen, aber Sie müssen die Umleitungsregel für externe Js/CSS entfernen.

2
tapas talukder

@ Blender Kommentar ist der beste Ansatz. Codieren Sie das Protokoll niemals fest im Code, da es schwierig sein wird, es zu ändern, wenn Sie von http zu https wechseln. Da müssen Sie alle Dateien manuell bearbeiten und aktualisieren.

Dies ist immer besser, da es das Protokoll automatisch erkennt.

src="//code.jquery.com
2
Krishnadas PC

Ich habe festgestellt, dass Sie Probleme beim Einbinden oder Mischen Ihrer Seite mit etwas wie http: //www.example.com haben. Sie können dies beheben, indem Sie // www .com statt

1
irene salomo