Rumah > Artikel > hujung hadapan web > Bagaimana untuk memintas Sekatan Access-Control-Allow-Origin untuk Permintaan Ajax?
Mengelakkan Sekatan Access-Control-Allow-Origin untuk Permintaan Ajax
Apabila melakukan panggilan Ajax ke pelayan luaran, pembangun mungkin menghadapi " Ralat Access-Control-Allow-Origin", yang mengehadkan keupayaan aplikasi web untuk mengakses sumber daripada asal yang berbeza atas sebab keselamatan. Jika platform yang mengehos panggilan Ajax anda telah melumpuhkan komunikasi silang asal, anda memerlukan cara untuk memintas sekatan ini untuk mendapatkan semula data daripada pelayan anda.
Satu penyelesaian berkesan untuk memintas isu Access-Control-Allow-Origin ialah untuk menambah pengepala khusus pada skrip sebelah pelayan anda yang mengendalikan permintaan Ajax. Dengan menambah baris berikut di bahagian atas fail retrieve.php anda pada pelayan anda sendiri:
header('Access-Control-Allow-Origin: *');
Anda pada dasarnya membenarkan permintaan daripada mana-mana asal (ditandakan oleh asterisk *) untuk mengakses titik akhir Ajax anda. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa pendekatan ini melumpuhkan perlindungan CORS secara berkesan dan berpotensi mendedahkan pengguna anda kepada kelemahan keselamatan.
Untuk kawalan yang lebih terperinci, anda boleh menyekat akses kepada asal-usul tertentu dengan mengubah suai pengepala, contohnya:
header('Access-Control-Allow-Origin: https://www.example.com');
Pengepala ini hanya membenarkan permintaan yang berasal dari domain yang ditentukan (example.com).
Sebagai alternatif, jika anda lebih suka menggunakan JSON dan bukannya Ajax, anda boleh merujuk jawapan Stack Overflow berikut: https://stackoverflow.com/a/10636765/413670 untuk panduan.
Untuk pemahaman menyeluruh tentang prinsip CORS dan cara menggunakan langkah keselamatan yang betul, rujuk dokumentasi Rangkaian Pembangun Mozilla di sini: https:// developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin.
Atas ialah kandungan terperinci Bagaimana untuk memintas Sekatan Access-Control-Allow-Origin untuk Permintaan Ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!