Ralat Dihalang oleh CORS: "Origin is Not Allowed by Access-Control-Allow-Origin"
Pengenalan:
Ralat "asal tidak dibenarkan oleh Access-Control-Allow-Origin" timbul semasa perkongsian sumber silang asal (CORS) apabila skrip pihak klien cuba mengakses sumber dari asal yang berbeza daripada yang sedang dijalankan daripada.
Punca:
Ralat ini mempunyai beberapa punca yang berpotensi:
-
Dasar Asal Sama: JavaScript dihadkan daripada mengakses sumber di luar domainnya tanpa kebenaran eksplisit pelayan. Dasar ini menghalang skrip berniat jahat daripada mencuri data pengguna atau menjejaskan keselamatan tapak.
-
Salah Konfigurasi Respons Pelayan: Pelayan mesti memasukkan pengepala Access-Control-Allow-Origin yang sesuai dalam responsnya untuk memberikan akses kepada asal-usul tertentu. Jika pengepala ini tiada atau salah, penyemak imbas akan menghalang permintaan.
Menyelesaikan Isu:
-
Semak Respons Pelayan : Periksa pengepala respons pelayan untuk memastikan bahawa pengepala Access-Control-Allow-Origin disertakan dan ditetapkan kepada asal yang dikehendaki.
-
Dayakan CORS pada Pelayan: Jika pelayan tidak mempunyai CORS yang didayakan, ia mesti dikonfigurasikan untuk menyokongnya. Ini boleh melibatkan penyediaan peraturan CORS dalam fail konfigurasi pelayan web.
-
Gunakan JSONP: JSONP (JSON dengan Padding) ialah penyelesaian untuk dasar asal yang sama yang membenarkan data dikembalikan sebagai panggilan fungsi dan bukannya dokumen XML. Walau bagaimanapun, pelayan mesti dikonfigurasikan untuk menyokong JSONP.
-
Gunakan Proksi: Proksi sebelah pelayan, seperti skrip PHP atau perkhidmatan ASP, boleh digunakan untuk mendapatkan semula sumber daripada asal yang berbeza dan serahkannya kepada skrip sebelah pelanggan.
Atas ialah kandungan terperinci Apakah Ralat Yang Dihalang oleh CORS: \'Origin is Not Allowed by Access-Control-Allow-Origin\'?. 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