Rumah >pembangunan bahagian belakang >tutorial php >Konfigurasi CORS: .htaccess lwn. PHP - Pendekatan Mana Yang Sesuai untuk Anda?

Konfigurasi CORS: .htaccess lwn. PHP - Pendekatan Mana Yang Sesuai untuk Anda?

Susan Sarandon
Susan Sarandonasal
2024-11-03 18:39:29759semak imbas

CORS Configuration: .htaccess vs. PHP - Which Approach is Right for You?

Konfigurasi CORS untuk .htaccess: Penjelasan dan Pendekatan Alternatif

Untuk mendayakan akses CORS dalam perkhidmatan web RESTful anda, konfigurasikannya melalui .htaccess ialah pendekatan biasa. Walau bagaimanapun, jika anda menghadapi cabaran atau memilih penyelesaian alternatif, artikel ini meneroka kedua-dua pilihan.

1. Konfigurasi .htaccess (dengan Penambahbaikan):

Untuk berjaya mengkonfigurasi CORS dalam .htaccess, pastikan anda memasukkan elemen berikut sebagai tambahan kepada pengepala asas Access-Control-Allow-Origin:

Header set Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"

Baris ini menentukan kaedah HTTP yang dibenarkan untuk permintaan CORS.

2. Konfigurasi Sisi Pelayan dalam PHP:

Jika anda lebih suka menetapkan pengepala CORS dalam PHP (dengan andaian anda menggunakan rangka kerja PHP seperti Slim), berikut ialah cara anda boleh melakukannya dalam skrip index.php anda :

// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
    // Do additional checks to restrict origins as needed
    header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Max-Age: 86400');    // Cache for 1 day
}

// Handling OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
        header("Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS");
    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
        header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
}

Untuk pengguna Slim, tambahkan laluan ini untuk mengendalikan permintaan OPTIONS dengan respons HTTP 200:

$app->map('/:x+', function($x) {
    http_response_code(200);
})->via('OPTIONS');

Pendekatan ini harus menyelesaikan isu CORS anda. Ingat untuk melaraskan tetapan agar sesuai dengan keperluan aplikasi khusus anda.

Atas ialah kandungan terperinci Konfigurasi CORS: .htaccess lwn. PHP - Pendekatan Mana Yang Sesuai untuk Anda?. 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