Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menghalang Akses Terus kepada Fail PHP yang Disertakan?
Mencegah Akses Fail Terus dalam PHP
Dalam dunia pembangunan web, adalah penting untuk mengawal akses kepada fail sensitif, terutamanya yang bertujuan semata-mata untuk dimasukkan ke dalam skrip lain. Isu biasa timbul apabila fail sedemikian boleh diakses terus melalui URL, yang membawa kepada potensi kelemahan keselamatan.
Untuk menangani kebimbangan ini, PHP menawarkan penyelesaian mudah yang membolehkan anda menyekat akses terus kepada fail yang disertakan. Dengan melaksanakan semakan bersyarat yang mudah, anda boleh menghalang percubaan tanpa kebenaran untuk melaksanakan fail tersebut secara langsung.
Untuk melaksanakan perlindungan ini dengan berkesan, ikut langkah berikut:
1. Semak Sumber Perujuk
Buka fail PHP yang anda ingin gunakan secara eksklusif sebagai termasuk. Tambahkan kod berikut pada permulaan fail:
if (!isset($_SERVER['HTTP_REFERER'])) { die('Direct access not permitted'); } $current_url = $_SERVER['HTTP_REFERER']; $allowed_url = 'https://example.com/page_that_includes_this_file.php'; if ($current_url != $allowed_url) { die('Direct access not permitted'); }
2. Tentukan Pemalar
Dalam fail PHP yang termasuk fail yang dilindungi, tambahkan kod berikut pada permulaan:
define('MY_CONSTANT', TRUE);
Penjelasan:
Sekeping kod pertama menyemak sama ada permintaan itu datang daripada URL rujukan yang dijangkakan (dalam kes ini, halaman yang harus menyertakan fail). Jika perujuk tidak ditetapkan atau tidak sepadan dengan URL yang dibenarkan, ia menjana mesej ralat.
Bahagian seterusnya kod mentakrifkan pemalar bernama "MY_CONSTANT" dalam fail sertakan. Pada halaman yang menyertakannya, anda mentakrifkan pemalar ini kepada BENAR, memastikan halaman itu boleh mengakses fail secara sah.
Dengan melaksanakan mekanisme ini, anda boleh menghalang akses terus kepada fail sertakan dengan berkesan, memastikan integritinya dan menghalang pelaksanaan tanpa kebenaran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Akses Terus kepada Fail PHP yang Disertakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!