Mengapa CORS Tidak Berfungsi dalam Aplikasi PHP Saya?

Mary-Kate Olsen
Lepaskan: 2024-11-03 04:54:02
asal
224 orang telah melayarinya

Why Is CORS Not Working in My PHP Application?

CORS Tidak Berfungsi dalam PHP

Dalam perkongsian sumber silang asal (CORS), halaman web boleh meminta sumber daripada asal lain, biasanya melibatkan domain, port, atau protokol. Walau bagaimanapun, secara lalai, penyemak imbas mengehadkan permintaan sedemikian kerana kebimbangan keselamatan.

Dalam senario yang diberikan, pengguna sedang mencuba permintaan POST daripada www.siteone.com ke www.sitetwo.com menggunakan CORS. Ralat yang dihadapi menunjukkan bahawa terdapat ketidakpadanan antara pengepala permintaan dan respons.

Untuk mengkonfigurasi CORS dengan betul, adalah penting untuk mengendalikannya dengan berhati-hati. Fungsi PHP berikut menyediakan pendekatan yang lebih komprehensif:

<code class="php">// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
    header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 86400');    // cache for 1 day
}

// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         

    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
        header("Access-Control-Allow-Headers:        {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

    exit(0);
}

echo "You have CORS!";</code>
Salin selepas log masuk

Dengan menggantikan kod asal dengan fungsi yang dipertingkat ini, pengguna berjaya menyelesaikan isu CORS. Pendekatan ini memastikan semua pengepala yang diperlukan ditetapkan dengan sewajarnya, membolehkan permintaan silang asal berfungsi seperti yang dimaksudkan.

Atas ialah kandungan terperinci Mengapa CORS Tidak Berfungsi dalam Aplikasi PHP Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan