Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mencegah Akses Terus kepada Fail PHP yang Dipanggil AJAX?

Bagaimana untuk Mencegah Akses Terus kepada Fail PHP yang Dipanggil AJAX?

DDD
Lepaskan: 2024-11-11 07:52:02
asal
675 orang telah melayarinya

How to Prevent Direct Access to AJAX-Called PHP Files?

Memintas Akses Terus kepada Fail Dipanggil AJAX

Dalam aplikasi dipacu AJAX, mengambil data daripada skrip PHP sebelah pelayan memerlukan pertimbangan yang teliti untuk keselamatan. Apabila menggunakan skrip melalui permintaan GET, kandungan dan parameternya kelihatan kepada sesiapa sahaja yang memeriksa pengepala HTTP.

Mencegah Akses Fail Terus

Untuk menghalang pengguna yang tidak dibenarkan daripada mengakses fail PHP secara terus , kami boleh memanfaatkan pengepala HTTP_X_REQUESTED_WITH yang dihantar oleh permintaan AJAX. Pengepala ini menunjukkan bahawa permintaan itu berasal daripada XMLHttpRequest, membolehkan kami membezakannya daripada percubaan akses langsung.

Pelaksanaan

Dalam skrip PHP anda, tambahkan blok kod berikut sebelum sebarang operasi sensitif:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access to AJAX requests
} else {
    // Block direct file access and display an error message
    header("HTTP/1.0 403 Forbidden");
    echo "Direct access not permitted.";
}
Salin selepas log masuk

Pengepala Permintaan AJAX

Kod JavaScript anda hendaklah memasukkan baris berikut untuk menambah pengepala X-Requested-With pada permintaan AJAX:

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");
Salin selepas log masuk

Ini memastikan pelayan menerima pengepala dan mengenal pasti permintaan dengan betul sebagai panggilan AJAX. Dengan melaksanakan langkah-langkah ini, anda boleh menghalang akses fail terus ke skrip PHP yang dipanggil oleh fungsi AJAX dengan berkesan, sambil mengekalkan kebolehaksesan untuk permintaan AJAX yang sah.

Atas ialah kandungan terperinci Bagaimana untuk Mencegah Akses Terus kepada Fail PHP yang Dipanggil 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