Bagaimana untuk Memintas Sekatan \'Access-Control-Allow-Origin\' dalam Permintaan AJAX?

Patricia Arquette
Lepaskan: 2024-10-29 05:33:02
asal
295 orang telah melayarinya

 How to Bypass

Mengelakkan Sekatan Access-Control-Allow-Origin

Apabila mencuba permintaan AJAX ke pelayan anda, anda menghadapi "Access-Control-" yang digeruni. Ralat Allow-Origin". Isu ini berleluasa apabila permintaan silang asal dilarang oleh platform penyajian.

Skrip AJAX yang disediakan pada dasarnya berfungsi, menghantar data ke skrip PHP untuk diproses. Walau bagaimanapun, mendapatkan semula data yang diproses dihalang oleh sekatan Access-Control-Allow-Origin.

Penyelesaian: Mengubah Suai Respons Pelayan

Untuk menyelesaikan isu ini, tambahkan perkara berikut pengepala ke bahagian atas skrip retrieve.php anda:

header('Access-Control-Allow-Origin: *');
Salin selepas log masuk

Ini memberikan akses tanpa had kepada semua asal usul. Untuk keselamatan yang dipertingkatkan, pertimbangkan untuk menyekat akses kepada asal tertentu menggunakan pendekatan berikut:

header('Access-Control-Allow-Origin: https://www.example.com');
Salin selepas log masuk

Pertimbangan Tambahan

  • Implikasi Keselamatan: Melumpuhkan perlindungan CORS mendedahkan pengguna kepada kemungkinan serangan. Hanya alih keluar sekatan ini jika benar-benar perlu.
  • Perkongsian Sumber Silang Asal (CORS): Spesifikasi ini mengawal permintaan silang asal. Rujuk artikel Rangkaian Pembangun Mozilla untuk maklumat lanjut: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

Pendekatan Alternatif menggunakan JSON

Seperti yang anda cadangkan, anda juga boleh menggunakan kod setara JSON untuk skrip AJAX. Walau bagaimanapun, pendekatan ini masih tertakluk pada sekatan Access-Control-Allow-Origin.

Atas ialah kandungan terperinci Bagaimana untuk Memintas Sekatan \'Access-Control-Allow-Origin\' dalam Permintaan AJAX?. 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