Heim >Backend-Entwicklung >PHP-Tutorial >Wie behebt man den Fehler „Mixed Content Blocked' beim Senden von Formularen über HTTPS?

Wie behebt man den Fehler „Mixed Content Blocked' beim Senden von Formularen über HTTPS?

Susan Sarandon
Susan SarandonOriginal
2024-11-17 13:53:01521Durchsuche

How to Fix

Behebung von Fehlern bei gemischten Inhalten auf HTTPS-Seiten: Eine Lösung für „Blockierte gemischte Inhalte“

Um eine sichere HTTPS-Verbindung aufrechtzuerhalten, Browser blockieren häufig Anfragen nach Nicht-HTTPS-Ressourcen von HTTPS-Seiten. Dies kann zu Fehlern wie „Gemischter Inhalt: Die Seite unter „https://page.com“ wurde über HTTPS geladen, hat aber einen unsicheren XMLHttpRequest-Endpunkt „http://XX.XXX.XX.XXX/vicidial/non_agent_api“ angefordert .php?queries=query=data'."

Um dieses Problem mit gemischten Inhalten in einem Szenario mit einer Formularübermittlung über GET und einer Weiterleitung zu einer Dankesseite über AJAX zu beheben, werden die folgenden Schritte empfohlen:

1. Analysieren Sie das Problem:

Die Hauptursache des Fehlers liegt in der Tatsache, dass das Formular an einen Nicht-HTTPS-Endpunkt (HTTP) gesendet wird. Dies führt zu einem Problem mit gemischten Inhalten, da die Seite über HTTPS geladen wird.

2. Entdecken Sie Lösungen:

a. API in HTTPS konvertieren: Wenn möglich, wenden Sie sich an den API-Anbieter und fordern Sie ihn auf, den Endpunkt in HTTPS zu konvertieren. Dadurch wird das Problem mit gemischten Inhalten an der Quelle beseitigt.

b. Richten Sie einen PHP-Proxy ein:

Wenn die Konvertierung der API in HTTPS nicht möglich ist, können Sie einen PHP-Proxy verwenden. Erstellen Sie auf Ihrem Server eine PHP-Datei, die die Formulardaten empfängt, sie an die HTTP-API weiterleitet (mithilfe von cURL) und den Benutzer dann zur Dankesseite weiterleitet. Dieser Ansatz eliminiert den Fehler bei gemischten Inhalten, da die Anfrage serverseitig und außerhalb des HTTPS-Kontexts des Browsers verarbeitet wird.

Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Mixed Content Blocked' beim Senden von Formularen über HTTPS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn