Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk melaksanakan permintaan merentas domain dalam php

Bagaimana untuk melaksanakan permintaan merentas domain dalam php

王林
王林asal
2021-09-23 17:03:426751semak imbas

Cara melaksanakan permintaan merentas domain dalam PHP: Anda boleh membenarkan akses kepada semua nama domain dengan menetapkan [header('Access-Control-Allow-Origin:*');].

Bagaimana untuk melaksanakan permintaan merentas domain dalam php

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP 7, komputer thinkpad t480.

Dalam PHP, jika kita perlu melaksanakan merentas domain, kita boleh melakukannya dengan menetapkan Access-Control-Allow-Origin. Seterusnya kami memberikan contoh untuk membantu anda memahami dengan lebih baik.

Andaikan bahawa nama domain klien semasa ialah client.runoob.com dan nama domain yang diminta ialah server.runoob.com.

Jika kami terus menggunakan ajax untuk mengakses, ralat berikut akan berlaku:

XMLHttpRequest cannot load http://server.runoob.com/server.php. No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://client.runoob.com' is therefore not allowed access.

1. Benarkan satu nama domain mengakses

Nyatakan nama domain (http ://client. runoob.com) untuk akses merentas domain, anda hanya perlu menambah kod berikut pada pengepala fail http://server.runoob.com/server.php:

header('Access-Control-Allow-Origin:http://client.runoob.com');

2. Benarkan berbilang nama domain mengakses

Nyatakan berbilang nama domain (http://client1.runoob.com, http://client2.runoob.com, dsb.) untuk akses merentas domain, kemudian hanya gunakan http://server.runoob.com/server Tambahkan kod berikut pada pengepala fail php:

$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';  
  $allow_origin = array(  
    'http://client1.runoob.com',  
    'http://client2.runoob.com'  );  
  if(in_array($origin, $allow_origin)){  
    header('Access-Control-Allow-Origin:'.$origin);       }

3. Benarkan akses kepada semua nama domain

Untuk membenarkan akses kepada semua nama domain, hanya http://server.runoob.com/ Tambahkan kod berikut pada pengepala fail server.php:

header('Access-Control-Allow-Origin:*');

Pembelajaran yang disyorkan: latihan php

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan permintaan merentas domain dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn