Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengehadkan Akses Terus kepada Fail PHP (Kecuali Index.php)?

Bagaimana untuk Mengehadkan Akses Terus kepada Fail PHP (Kecuali Index.php)?

DDD
DDDasal
2024-10-24 10:54:291118semak imbas

How to Restrict Direct Access to PHP Files (Except Index.php)?

Mencegah Capaian Terus kepada Fail .php

Melindungi fail .php daripada akses langsung adalah penting untuk perlindungan tapak web. Artikel ini menangani keperluan untuk menyekat akses kepada semua fail .php kecuali index.php, memastikan bahawa fail hanya diakses melalui PHP termasuk.

Penyelesaian:

Untuk menafikan akses terus kepada semua fail .php kecuali index.php, ikut langkah berikut:

  1. Pastikan pelayan Apache anda telah dipasang mod_access.
  2. Tambahkan kod berikut pada fail .htaccess anda yang terdapat dalam folder yang sama dengan fail PHP anda:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1

<Files /index.php>
    Order Allow,Deny
    Allow from all
</Files>

Penjelasan:

  • Arahan pertama, Tolak Pesanan, Benarkan, menafikan akses kepada semua fail secara lalai.
  • Benarkan daripada 127.0.0.1 mencipta pengecualian untuk localhost, membenarkan akses kepada fail daripada mesin setempat.
  • Arahan kedua, . .. , secara khusus menggunakan peraturan untuk index.php, membenarkan akses kepada fail ini daripada semua alamat IP.

Pertimbangan Tambahan:

  • Untuk membenarkan akses kepada fail tertentu, seperti .css atau .js, gunakan kod berikut:
<FilesMatch ".*\.(css|js)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>
  • Perhatikan bahawa anda tidak boleh menggunakan atau arahan dalam fail .htaccess untuk mencapai hasil ini.

Awas:

  • Gunakan penyelesaian di atas dengan berhati-hati, kerana ia boleh menyekat akses kepada penting fail, seperti imej dan skrip.

Kemas kini untuk Apache 2.4:

Untuk Apache 2.4, gunakan Require all denied instead of Deny from all in the first arahan.

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Akses Terus kepada Fail PHP (Kecuali Index.php)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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