Bagaimana untuk menggunakan permintaan merentas domain CORS dalam rangka kerja PHP-Slim?

WBOY
Lepaskan: 2023-06-03 08:16:02
asal
1154 orang telah melayarinya

Dalam pembangunan web, permintaan merentas domain adalah masalah biasa. Ini kerana penyemak imbas mempunyai sekatan ketat terhadap permintaan antara nama domain yang berbeza. Contohnya, kod bahagian hadapan tapak web A tidak boleh menghantar permintaan terus ke API tapak web B melainkan tapak web B membenarkan permintaan merentas domain. Untuk menyelesaikan masalah ini, teknologi CORS (Cross-Origin Resource Sharing) muncul. Artikel ini akan memperkenalkan cara menggunakan permintaan merentas domain CORS dalam rangka kerja PHP-Slim.

1. Apakah itu CORS

CORS ialah mekanisme yang memberitahu penyemak imbas permintaan yang dibuatnya apabila ia menghantar permintaan merentas domain dengan menambahkan beberapa maklumat tambahan pada pengepala HTTP yang sepadan adalah dibenarkan . Biasanya, penyemak imbas akan menghantar permintaan OPTIONS apabila menghantar permintaan merentas domain untuk memahami permintaan yang dibenarkan. Pelayan perlu membalas permintaan ini dan memberitahu penyemak imbas dalam pengepala respons permintaan yang dibenarkan.

2. Menggunakan CORS dalam rangka kerja PHP-Slim

Rangka kerja PHP-Slim ialah rangka kerja PHP ringan yang digunakan untuk membina API RESTful. Di bawah ini kami akan memperkenalkan cara menggunakan permintaan merentas domain CORS dalam rangka kerja PHP-Slim.

  1. Pasang slim-cors middleware

Untuk menggunakan CORS, anda perlu memasang middleware yang dipanggil slim-cors dalam rangka kerja PHP-Slim ini boleh digunakan Kami tambah tajuk respons dengan mudah.

Kami boleh menggunakan komposer untuk memasang perisian tengah slim-cors, cuma jalankan arahan berikut:

composer require tuupola/slim-cors:^1.1
Salin selepas log masuk

Ini akan menambah perisian tengah slim-cors pada projek kami.

  1. Tambah CORS Middleware

Mendaftarkan middleware CORS dalam aplikasi Slim kami adalah sangat mudah. Kami hanya perlu mendaftarkannya sebagai perisian tengah dalam aplikasi.

Pertama, kita perlu memperkenalkan middleware CORS:

use TuupolaMiddlewareCorsMiddleware;
Salin selepas log masuk

Kemudian, kita perlu mendaftarkannya sebagai middleware aplikasi:

$app->add(new CorsMiddleware([
    "origin" => ["*"],
    "allowMethods" => ["GET", "POST", "PUT", "PATCH", "DELETE"],
    "allowHeaders" => ["Content-Type", "Authorization"]
]));
Salin selepas log masuk

Dalam kod di atas, Kami menambah perisian tengah CORS pada aplikasi Slim kami dan tetapkan beberapa pilihan. Dalam contoh di atas, kami membenarkan permintaan daripada mana-mana asal dan hanya membenarkan permintaan dengan kaedah GET, POST, PUT, PATCH dan DELETE dan membenarkan dua pengepala permintaan Jenis Kandungan dan Keizinan. Anda boleh mengubah suai pilihan ini mengikut keperluan anda.

Kini, kami telah mencipta aplikasi Slim yang boleh mengendalikan CORS.

  1. Permintaan merentas domain pelanggan

Selepas kami melengkapkan langkah di atas, pelanggan boleh menghantar permintaan merentas domain ke API kami. Permintaan klien akan membawa pengepala Origin dan pengepala respons yang kami kembalikan akan mengandungi pengepala Access-Control-Allow-Origin. Sebagai contoh, berikut ialah contoh permintaan POST menggunakan jQuery:

$.ajax({
    method: 'POST',
    url: 'https://example.com/api',
    data: { name: 'John Doe' },
    success: function(response) {
        console.log(response);
    }
});
Salin selepas log masuk

Jika pelayan kami telah mengendalikan permintaan CORS dengan betul, maka permintaan ini akan berjaya dilaksanakan.

Ringkasan:

Sangat mudah untuk menggunakan permintaan merentas domain CORS dalam rangka kerja PHP-Slim. Hanya gunakan perisian tengah slim-cors dan sediakannya mengikut keperluan anda. Ini membolehkan API kami menskalakan kepada aplikasi, peranti dan platform yang berbeza.

Walau bagaimanapun, perlu diingat bahawa CORS hanya terpakai pada dasar keselamatan pelayar web. Jika API anda tidak perlu diakses oleh penyemak imbas web, adalah disyorkan untuk menggunakan teknologi merentas domain lain yang lebih mudah dan cekap.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan permintaan merentas domain CORS dalam rangka kerja PHP-Slim?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!