Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mencegah Capaian Terus kepada Fail yang Diakses melalui AJAX?
Cara Mencegah Capaian Terus ke Fail Diakses melalui AJAX
Apabila membina permintaan AJAX, adalah penting untuk memastikan keselamatan data sedang dipindahkan. Jika kaedah permintaan ialah GET, data boleh dilihat dengan mudah dengan memeriksa pengepala permintaan. Walaupun penyelesaian yang disediakan dalam soalan pendua yang disebutkan nampaknya tidak menyelesaikan isu ini, terdapat pendekatan alternatif yang boleh menghalang akses terus ke fail sasaran dengan berkesan.
Penyelesaian:
Untuk memberikan akses kepada permintaan AJAX secara terpilih sambil menafikan akses terus kepada fail, anda boleh memanfaatkan pembolehubah pelayan HTTP_X_REQUESTED_WITH. Pembolehubah ini ditetapkan kepada XMLHttpRequest oleh kebanyakan rangka kerja dan perpustakaan AJAX. Menggunakan pembolehubah ini, anda boleh melaksanakan semakan berikut dalam fail PHP (cth., func.php):
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) { // Allow access since this is an AJAX request } else { // Deny access since this is a direct request }
Menyepadukan Pengepala:
Untuk memastikan bahawa permintaan AJAX anda termasuk pengepala X-Requested-With, tambah baris berikut pada kod JavaScript anda sebelum menghantar permintaan:
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
Keberkesanan:
Dengan melaksanakan penyelesaian ini, anda dengan berkesan menyekat akses terus ke fail sasaran sambil membenarkan permintaan AJAX daripada sumber yang dibenarkan. Ini membantu mengelakkan kemungkinan penyalahgunaan data atau pelanggaran keselamatan.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Capaian Terus kepada Fail yang Diakses melalui AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!