In der Webentwicklung sind domänenübergreifende Anfragen ein häufiges Problem. Dies liegt daran, dass Browser strenge Beschränkungen für Anfragen zwischen verschiedenen Domänennamen haben. Beispielsweise kann der Front-End-Code von Website A keine Anfragen direkt an die API von Website B senden, es sei denn, Website B erlaubt domänenübergreifende Anfragen. Um dieses Problem zu lösen, wurde die CORS-Technologie (Cross-Origin Resource Sharing) entwickelt. In diesem Artikel wird die Verwendung domänenübergreifender CORS-Anfragen im PHP-Slim-Framework vorgestellt.
1. Was ist CORS
CORS ist ein Mechanismus, der dem Browser mitteilt, wenn er eine domänenübergreifende Anfrage sendet, indem er dem entsprechenden HTTP-Header einige zusätzliche Informationen hinzufügt sind zur Zeit erlaubt. Normalerweise sendet der Browser beim Senden einer domänenübergreifenden Anfrage eine OPTIONS-Anfrage, um zu verstehen, welche Anfragen zulässig sind. Der Server muss auf diese Anfrage antworten und dem Browser im Antwortheader mitteilen, welche Anfragen zulässig sind.
2. Verwendung von CORS im PHP-Slim-Framework
Das PHP-Slim-Framework ist ein leichtes PHP-Framework zum Erstellen von RESTful-APIs. Im Folgenden stellen wir vor, wie man CORS-Cross-Domain-Anfragen im PHP-Slim-Framework verwendet.
Um CORS zu verwenden, müssen Sie eine Middleware namens Slim-Cors im PHP-Slim-Framework installieren. Mit dieser Middleware können wir ganz einfach Antwortheader hinzufügen.
Wir können Composer verwenden, um Slim-Cors-Middleware zu installieren. Führen Sie einfach den folgenden Befehl aus:
composer require tuupola/slim-cors:^1.1
Dadurch wird Slim-Cors-Middleware zu unserem Projekt hinzugefügt.
Die Registrierung von CORS-Middleware in unserer Slim-Anwendung ist sehr einfach. Wir müssen es lediglich als Middleware in der Anwendung registrieren.
Zuerst müssen wir die CORS-Middleware einführen:
use TuupolaMiddlewareCorsMiddleware;
Dann müssen wir sie als Middleware der Anwendung registrieren:
$app->add(new CorsMiddleware([ "origin" => ["*"], "allowMethods" => ["GET", "POST", "PUT", "PATCH", "DELETE"], "allowHeaders" => ["Content-Type", "Authorization"] ]));
$.ajax({ method: 'POST', url: 'https://example.com/api', data: { name: 'John Doe' }, success: function(response) { console.log(response); } });
Das obige ist der detaillierte Inhalt vonWie verwende ich eine domänenübergreifende CORS-Anfrage im PHP-Slim-Framework?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!