Bagaimana untuk Mencegah Akses Terus ke Fail yang Diakses melalui AJAX dalam PHP?

Susan Sarandon
Lepaskan: 2024-11-12 00:36:03
asal
748 orang telah melayarinya

How to Prevent Direct Access to Files Accessed via AJAX in PHP?

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...
}
Salin selepas log masuk

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

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!

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