Saya memiliki file .htaccess berikut:
RewriteEngine On
RewriteBase /
# Protect the htaccess file
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
# Protect log.txt
<Files ./inscription/log.txt>
Order Allow,Deny
Deny from all
</Files>
# Disable directory browsing
Options All -Indexes
Saya mencoba melarang pengunjung untuk mengakses file berikut:
domain.com/inscription/log.txt
tetapi yang saya miliki di atas tidak berfungsi: Saya masih dapat mengakses file dari browser dari jarak jauh.
<Files>
direktif hanya berlaku untuk direktori itu" - tidak, tidak. Ini berlaku untuk direktori itu dan semua subdirektori di bawahnya. Jadi<Files "log.txt">
akan menangkap/log.txt
dan/inscription/log.txt
.Order Allow,Deny
sudah tidak digunakan lagi di 2.4?Pencocokan pola yang kuat - Ini adalah metode yang saya gunakan di sini di Perishable Press. Menggunakan pencocokan pola yang kuat, teknik ini mencegah akses eksternal ke file apa pun yang berisi " .hta ", " .HTA ", atau kombinasi tidak peka huruf besar kecil apa pun darinya. Sebagai ilustrasi, kode ini akan mencegah akses melalui salah satu permintaan berikut:
..etc., dll. Jelas, metode ini sangat efektif untuk mengamankan file HTAccess situs Anda. Lebih jauh, teknik ini juga mencakup arahan " Satisfy All " yang memperkuat . Perhatikan bahwa kode ini harus ditempatkan di file HTAccess root domain Anda:
sumber
<Files ~"^\..*">
.Saya tidak yakin jawaban yang diterima saat ini benar. Misalnya, saya memiliki
.htaccess
file berikut di root server virtual (apache 2.4):Ini mencegah akses eksternal
reminder.php
yang ada di subdirektori. Saya memiliki.htaccess
file serupa di server Apache 2.2 saya dengan efek yang sama:Saya tidak tahu pasti tetapi saya curiga itu adalah upaya untuk menentukan subdirektori secara khusus dalam
.htaccess
file, yaitu<Files ./inscription/log.txt>
yang menyebabkannya gagal. Akan lebih mudah untuk meletakkan.htaccess
file di direktori yang sama denganlog.txt
ie diinscription
direktori dan itu akan bekerja di sana.sumber
Letakkan baris di bawah ini di file .htaccess Anda dan ganti nama file sesuai keinginan
sumber
Nah Anda bisa menggunakan
<Directory>
tag misalnya:Jangan gunakan
./
karena jika Anda hanya menggunakannya/
terlihat di direktori root situs Anda.Untuk contoh yang lebih detail, kunjungi http://httpd.apache.org/docs/2.2/sections.html
sumber
<Directory>
wadah tidak diizinkan masuk.htaccess
. Dalam.htaccess
,.htaccess
file itu sendiri adalah " wadah Direktori " (file konfigurasi per direktori).Redirect /inscription/log.txt access_denied.html
Ini akan mengarahkan pengguna keaccess_denied.html
jika pengguna masuk keinscription/log.txt
dalam direktori prasasti.