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
Lepaskan: 2024-11-03 18:39:29
asal
771 orang telah melayarinya

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"
Salin selepas log masuk

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']}");
}
Salin selepas log masuk

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');
Salin selepas log masuk

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!

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