Heim  >  Artikel  >  Backend-Entwicklung  >  So richten Sie ein domänenübergreifendes PHP-Projekt ein

So richten Sie ein domänenübergreifendes PHP-Projekt ein

PHPz
PHPzOriginal
2023-04-10 09:35:493937Durchsuche

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.

  1. Access-Control-Allow-Origin

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");
  1. Access-Control-Allow-Headers

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");
  1. Access-Control-Allow-Methods

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');
  1. Access-Control-Allow-Credentials

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!

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