Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengehadkan Akses Terus kepada Fail Bukan Index.php pada Pelayan Apache?

Bagaimana untuk Mengehadkan Akses Terus kepada Fail Bukan Index.php pada Pelayan Apache?

Barbara Streisand
Barbara Streisandasal
2024-10-25 02:23:29972semak imbas

How to Restrict Direct Access to Non-Index.php Files on Apache Servers?

Mengawal Akses Terus kepada Fail Bukan Index.php

Latar Belakang:

Untuk meningkatkan keselamatan, adalah wajar untuk menghalang akses terus kepada semua fail PHP dalam folder, kecuali untuk fail index.php. Ini melindungi data sensitif daripada akses langsung dan memastikan halaman tertentu diakses hanya melalui saluran yang dibenarkan.

Penyelesaian:

Pelayan web Apache menyediakan mekanisme untuk mengawal akses kepada fail berdasarkan lanjutan mereka. Dengan memanfaatkan fail .htaccess, adalah mungkin untuk menafikan akses terus kepada semua fail PHP kecuali index.php.

Langkah:

  1. Sahkan Mod_access: Pastikan mod_access didayakan dalam konfigurasi Apache.
  2. Buat Fail .htaccess: Cipta fail .htaccess dalam direktori tempat fail .php berada.
  3. Tambah Kawalan Akses: Tambahkan kod berikut pada fail .htaccess:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1

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

Penjelasan:

The arahan pertama menafikan akses kepada mana-mana fail kecuali index.php daripada semua alamat IP. Arahan kedua secara khusus membenarkan akses kepada index.php daripada semua alamat IP.

Pertimbangan Tambahan:

  • Untuk membenarkan akses kepada jenis fail lain, gunakan < ;FilesMatch> arahan. Contohnya, untuk membenarkan akses kepada fail CSS dan JS, tambahkan kod berikut:
<FilesMatch ".*\.(css|js)$">
    Order Allow,Deny
    Allow from all
</FilesMatch>
  • Elakkan menggunakan atau arahan dalam fail .htaccess untuk Apache 2.4 atau lebih baru.

Kemas kini untuk Apache 2.4:

Dalam Apache 2.4, sintaks kawalan akses telah berubah. Sintaks yang betul untuk penyelesaian ini ialah:

Order deny,allow
Deny from all
Require all granted

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Akses Terus kepada Fail Bukan Index.php pada Pelayan Apache?. 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