Bagaimana untuk Mencegah Capaian Terus kepada Fail yang Diakses melalui AJAX?

DDD
Lepaskan: 2024-11-18 00:19:02
asal
899 orang telah melayarinya

How to Prevent Direct Access to Files Accessed via 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
}
Salin selepas log masuk

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");
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan