Wie geht PHP mit domänenübergreifenden Anfragen und Zugriffskontrolle um?
Zusammenfassung:
Mit der Entwicklung von Internetanwendungen sind domänenübergreifende Anfragen und Zugriffskontrolle zu einem wichtigen Thema in der PHP-Entwicklung geworden. In diesem Artikel werden Methoden und Techniken vorgestellt, wie PHP domänenübergreifende Anfragen und Zugriffskontrolle verarbeitet, um Entwicklern dabei zu helfen, diese Probleme besser zu verstehen und damit umzugehen.
2.1 JSONP (JSON mit Auffüllung)
JSONP ist eine Lösung für domänenübergreifende Anfragen, die Erstellt Skripte mit dynamischen Tags, um Daten abzurufen. Die vom Server zurückgegebenen Daten müssen in eine Rückruffunktion eingeschlossen werden. Der Browser führt diese Rückruffunktion aus, um die vom Server zurückgegebenen Daten abzurufen.
2.2 CORS (Cross-Origin Resource Sharing)
CORS ist ein Mechanismus, der die Einstellung auf der Serverseite unterstützt und es dem Server ermöglicht, dem Browser mitzuteilen, auf welche Quellen der Server Zugriff gewährt. In PHP können wir CORS implementieren, indem wir Antwortheaderinformationen festlegen.
3.1 JSONP-Lösung
PHP kann dynamisch Javascript-Code generieren, der Daten basierend auf den vom Client gesendeten Rückrufparametern enthält, zum Beispiel:
<?php $data = array('name' => 'John', 'age' => 18); $callback = $_GET['callback']; echo $callback . '(' . json_encode($data) . ')'; ?>
3.2 CORS-Lösung
PHP CORS wird durch Festlegen von Antwort-Header-Informationen implementiert, zum Beispiel:
<?php header("Access-Control-Allow-Origin: http://example.com");// 允许http://example.com域名访问 header("Access-Control-Allow-Methods: GET, POST, OPTIONS");// 允许GET、POST、OPTIONS方法 header("Access-Control-Allow-Headers: Content-Type");// 允许Content-Type请求头 ?>
4.1 Anmeldeinformationen
Wenn Sie domänenübergreifend arbeiten müssen Um Anmeldeinformationen (wie Cookies, HTTP-Authentifizierungsinformationen) in der Anfrage zu senden, müssen Sie „Access-Control-Allow-Credentials“ auf „true“ und „withCredentials“ auf der Anfrageseite auf „true“ setzen.
4.2 Preflight-Anfrage (Preflight)
Wenn die folgenden Bedingungen erfüllt sind, sendet der Browser eine Preflight-Anfrage (OPTIONS), um die Berechtigungsinformationen des Servers abzurufen:
PHP-Code muss die Preflight-Anfrage verarbeiten und die richtigen Antwortheaderinformationen zurückgeben.
Das obige ist der detaillierte Inhalt vonWie geht PHP mit domänenübergreifenden Anfragen und Zugriffskontrolle um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!