Heim >Backend-Entwicklung >PHP-Problem >So stellen Sie PHP domänenübergreifend ein

So stellen Sie PHP domänenübergreifend ein

王林
王林Original
2021-07-07 13:48:2420045Durchsuche

Die Möglichkeit, PHP domänenübergreifend einzustellen, besteht darin, die Anweisung [header("Access-Control-Allow-Origin: *");] direkt zum Header der PHP-Datei hinzuzufügen, sodass alle Adressen zugelassen werden können auf domänenübergreifende Anfragen.

So stellen Sie PHP domänenübergreifend ein

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP 7.3, Thinkpad T480-Computer.

Es gibt drei Möglichkeiten, den domänenübergreifenden Zugriff in den PHP-Einstellungen zuzulassen. Die spezifischen Methoden sind wie folgt:

Methode eins:

header("Access-Control-Allow-Origin: *");//允许所有地址跨域请求

Methode zwei:

header("Access-Control-Allow-Origin: http://localhost:8080");//指定某个地址可以跨域请求,这里只能指定一个

Methode drei: Wenn Sie domänenübergreifenden Zugriff zulassen möchten Anfragen von mehreren Adressen können Sie so schreiben:

$origin = ['http://localhost:8080','http://localhost:8081'];
$AllowOrigin = 'http://localhost:8080';
if(in_array($_SERVER["HTTP_ORIGIN"],$origin))
{
    $AllowOrigin = $_SERVER["HTTP_ORIGIN"];
}
header("Access-Control-Allow-Origin: ".$AllowOrigin );

Legen Sie die erlaubten Anfragemethoden fest, Sie können * verwenden, um alle anzugeben, header("Access-Control-Allow-Methods: POST");

Wenn die Anfrage erlaubt ist Um Cookies zu übertragen, kann * derzeit nicht in der Ursprungskonfiguration und im Front-End verwendet werden. Es scheint, dass Sie es auch so konfigurieren müssen, dass die Anforderung den Cookie-Header('Access-Control-Allow-Credentials:true'); trägt.

Anforderungsheader einrichten, die domänenübergreifende Anforderungen ermöglichen, werden normalerweise zum Anforderungsheader hinzugefügt, sodass der Server angeben muss, welche Anforderungsheader zulässig sind. * können hier nicht verwendet werden. header('Access-Control-Allow-Headers:token');

Verwandte Empfehlungen: php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo stellen Sie PHP domänenübergreifend 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
Vorheriger Artikel:Was bedeutet PHP Shuffle?Nächster Artikel:Was bedeutet PHP Shuffle?