Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Memintas Sekatan \'Access-Control-Allow-Origin\' dalam Permintaan AJAX?

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

Patricia Arquette
Patricia Arquetteasal
2024-10-29 05:33:02367semak imbas

 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: *');

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');

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!

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