Menghalang Akses Terus kepada Fail yang Diakses melalui AJAX
Apabila mengakses fail PHP melalui permintaan AJAX, seperti "func.php", akses terus ke fail itu boleh menjadi kebimbangan keselamatan. Untuk menangani isu ini, adalah penting untuk melaksanakan mekanisme yang membezakan antara permintaan AJAX dan percubaan akses langsung.
Satu penyelesaian yang berkesan ialah memanfaatkan pembolehubah pelayan "HTTP_X_REQUESTED_WITH". Kebanyakan rangka kerja AJAX menetapkan pengepala ini kepada "XMLHttpRequest", menyediakan cara untuk membezakan antara permintaan AJAX tulen dan akses penyemak imbas langsung. Semakan pengepala ini boleh dilaksanakan dalam fail PHP seperti berikut:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) { // Allow access... } else { // Ignore or deny access... }
Dengan melaksanakan semakan ini, anda boleh memastikan bahawa hanya permintaan AJAX yang sah boleh mengakses fail yang ditentukan, melindunginya daripada akses langsung yang tidak dibenarkan.
Selain itu, untuk keselamatan yang dipertingkatkan, anda boleh menetapkan pengepala "X-Requested-With" secara manual dalam permintaan AJAX anda menggunakan mengikuti kod JavaScript:
var xhrobj = new XMLHttpRequest(); xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");
Langkah ini mengukuhkan lagi perlindungan terhadap akses fail terus.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Akses Terus ke Fail yang Diakses melalui AJAX dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!