Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyediakan projek php merentas domain

Bagaimana untuk menyediakan projek php merentas domain

PHPz
PHPzasal
2023-04-10 09:35:493969semak imbas

Cross-Origin Resource Sharing (CORS) ialah teknologi web yang membenarkan penyemak imbas menghantar permintaan AJAX ke domain yang berbeza apabila meminta sumber. Apabila menggunakan perkhidmatan web, CORS membenarkan penyemak imbas meminta data daripada domain lain. Artikel ini akan memperkenalkan cara menyediakan akses merentas domain dalam projek PHP.

Apakah itu merentas domain?

Rentas domain, dalam pembangunan web, ialah apabila skrip yang dilaksanakan oleh penyemak imbas cuba mengakses asal yang berbeza daripada pelayan asal halaman. Contohnya, pada halaman web www.example.com, jika skrip cuba mengakses pelayan http://www.example.org, ia dipanggil permintaan merentas domain.

Mengapa kita perlu menyediakan merentas domain?

Pelayar web melaksanakan Dasar Asal Sama, iaitu dasar keselamatan web asas yang mengehadkan skrip untuk hanya mengakses kandungan dari tapak asal yang sama. Tapak homolog merujuk kepada tapak dengan protokol , nama domain dan port yang sama. Tanpa sekatan dasar asal yang sama, permintaan merentas domain boleh menyerang akaun pengguna dengan mudah. Contohnya, jika anda membeli buku dalam talian, skrip berniat jahat boleh mengakses akaun anda dengan mudah daripada domain lain dan menggunakan akaun anda untuk membuat pembayaran.

Bagaimana untuk menyediakan merentas domain?

Dalam projek PHP, anda boleh membina permintaan silang asal (CORS) dengan menetapkan pengepala respons.

  1. Access-Control-Allow-Origin

Menetapkan pengepala respons "Access-Control-Allow-Origin", yang membenarkan permintaan daripada domain. Sebagai contoh, jika permintaan AJAX memerlukan penghantaran permintaan daripada "http://localhost:3000", maka anda boleh menambah baris berikut pada pengepala respons pelayan.

header("Access-Control-Allow-Origin:http://localhost:3000");
  1. Access-Control-Allow-Header

Menetapkan Allow-Origin membenarkan permintaan merentas domain untuk nama domain dan Access-Control-Allow juga memerlukan untuk ditetapkan. -Tajuk untuk membenarkan pengepala permintaan tersuai. Sebagai contoh, jika permintaan AJAX ingin menghantar pengepala permintaan tersuai "X-Custom-Header", anda perlu menambah baris berikut pada pengepala respons.

header("Access-Control-Allow-Headers: X-Custom-Header");
  1. Access-Control-Allow-Methods

Access-Control-Allow-Methods menentukan kaedah permintaan yang dibenarkan, cuma tambahkan perkara berikut pada pengepala respons OK, sebagai contoh, persediaan contoh ini membenarkan kedua-dua kaedah GET dan POST.

header('Access-Control-Allow-Methods: GET, POST');
  1. Access-Control-Allow-Credentials

Jika kuki perlu dihantar, Access-Control-Allow-Credentials hendaklah ditetapkan kepada "true". Sebagai contoh, minta penyemak imbas untuk meminta kuki.

header('Access-Control-Allow-Credentials: true');

Ringkasan

Melaksanakan permintaan merentas domain (CORS) dalam projek PHP memerlukan pengepala respons, dengan menetapkan Access-Control-Allow-Origin, Access-Control-Allow-Header, Pengepala respons utama seperti Access-Control-Allow-Methods dan Access-Control-Allow-Credentials membolehkan penyemak imbas membenarkan permintaan merentas domain apabila menghantar permintaan.

Atas ialah kandungan terperinci Bagaimana untuk menyediakan projek php merentas domain. 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