Cross-Origin Resource Sharing (CORS) ist eine Webtechnologie, die es Browsern ermöglicht, beim Anfordern von Ressourcen AJAX-Anfragen an verschiedene Domänen zu senden. Bei der Nutzung eines Webdienstes ermöglicht CORS dem Browser, Daten von einer anderen Domäne anzufordern. In diesem Artikel erfahren Sie, wie Sie den domänenübergreifenden Zugriff in PHP-Projekten einrichten.
Was ist domänenübergreifend?
Domainübergreifend liegt in der Webentwicklung vor, wenn ein vom Browser ausgeführtes Skript versucht, auf einen anderen Ursprung als den Server zuzugreifen, von dem die Seite stammt. Wenn das Skript beispielsweise auf der Webseite www.example.com versucht, auf den Server http://www.example.org zuzugreifen, spricht man von einer domänenübergreifenden Anfrage.
Warum müssen wir domänenübergreifend einrichten?
Webbrowser implementieren die Same-Origin-Richtlinie, eine grundlegende Web-Sicherheitsrichtlinie, die ein Skript darauf beschränkt, nur auf Inhalte von derselben Ursprungsseite zuzugreifen. Eine homologe Site bezieht sich auf eine Site mit demselben Protokoll, demselben Domänennamen und demselben Port . Ohne die Einschränkung der Same-Origin-Richtlinie können domänenübergreifende Anfragen leicht das Konto des Benutzers angreifen. Wenn Sie beispielsweise ein Buch online kaufen, kann ein bösartiges Skript problemlos von einer anderen Domain aus auf Ihr Konto zugreifen und Ihr Konto für eine Zahlung verwenden.
Wie richte ich domänenübergreifend ein?
In PHP-Projekten können Sie Cross-Origin-Anfragen (CORS) erstellen, indem Sie Antwortheader festlegen.
Legen Sie den Antwortheader „Access-Control-Allow-Origin“ fest, der Anfragen von a zulässt bestimmte Domain-Anfrage. Wenn eine AJAX-Anfrage beispielsweise das Senden der Anfrage von „http://localhost:3000“ erfordert, können Sie die folgende Zeile zum Antwortheader des Servers hinzufügen.
header("Access-Control-Allow-Origin:http://localhost:3000");
Durch das Festlegen von Allow-Origin werden domänenübergreifende Anfragen für einen Domänennamen und Zugriff zugelassen Es muss auch -Control-Allow-Headers festgelegt werden, um benutzerdefinierte Anforderungsheader zuzulassen. Wenn die AJAX-Anfrage beispielsweise einen benutzerdefinierten Anforderungsheader „X-Custom-Header“ senden möchte, müssen Sie die folgende Zeile zum Antwortheader hinzufügen.
header("Access-Control-Allow-Headers: X-Custom-Header");
Access-Control-Allow-Methods Gibt an, welche Anfragemethoden solange zulässig sind wie die Antwort Fügen Sie der Kopfzeile die folgenden Zeilen hinzu. Dieses Beispiel-Setup ermöglicht beispielsweise GET- und POST-Methoden.
header('Access-Control-Allow-Methods: GET, POST');
Wenn Cookies gesendet werden müssen, sollten Access-Control-Allow-Credentials auf eingestellt sein "WAHR" ". Bitten Sie beispielsweise den Browser, ein Cookie anzufordern.
header('Access-Control-Allow-Credentials: true');
Zusammenfassung
Die Implementierung von domänenübergreifenden Anforderungen (CORS) in PHP-Projekten erfordert das Festlegen von Antwortheadern durch Festlegen von Access-Control-Allow-Origin und Access-Control-Allow-Key Antwortheader wie Header, Access-Control-Allow-Methods und Access-Control-Allow-Credentials ermöglichen es dem Browser, beim Senden von Anfragen domänenübergreifende Anfragen zuzulassen.
Das obige ist der detaillierte Inhalt vonSo richten Sie ein domänenübergreifendes PHP-Projekt ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!