.htaccess Kullanarak Klasör İçeriğinin Listelenmesini Engellemek

guclusat

Tanınmış Üye
Süper Moderatör
Eğer sitenizdeki klasörlerde bir index dosyası bulunmuyorsa ve sunucu tarafından da bir ayar yapılmamışsa, klasöre girildiğinde varsayılan olarak klasör içeriği listelenecektir. Eğer klasör içerisinde önemli dosyalar bulunuyorsa veya klasör bir resim klasörüyse, bu genellikle iyi bir durum değildir. Bu yazıda .htaccess dosyası kullanarak, klasör içeriğinin listelenmesini nasıl engelleyebileceğimizi anlatacağım.

Öncelikle işe (eğer yoksa) bir .htaccess dosyası oluşturmakla başlıyoruz. Dosyamızı oluşturduktan sonra içerisine aşağıdaki kodu yerleştiriyoruz:

PHP:
IndexIgnore *


* karakteri, klasör içeriğinin listelenmesini tamamen engelleyecek bir genel arama karakteridir. Eğer bir kaç dosya tipi hariç diğer klasör içeriğinin listelenmesini istiyorsanız kodu örnek olarak aşağıdaki gibi değiştirebilirsiniz:

PHP:
IndexIgnore *.php *.png

Bu kod php ve png uzantılı dosyaların listelenmesini engelleyecektir, ancak bu uzantıdaki dosyalar hariç klasördeki tüm diğer dosyalar listelenecektir.
 
.htaccess ile Dosya ve Klasörlere Erişimi Engellemek

Sitenizdeki dosyalardan veya klasörlerden bazılarına tüm erişimleri engellememiz gerekebilir. Bu işlemi .htaccess dosyası kullanarak nasıl yapabiliriz bunu öğrenelim.
Erişim sınırlaması yapmak istediğiniz klasörün içinde boş bir .htaccess dosyası oluşturalım ve alttaki kodları yazalım.

PHP:
#deny all access
deny from all

Bu şekilde klasör ve içindeki tüm dosyalar erişime kapatılmış oldu. Eğer bu klasöre yalnızca belirlediğiniz ip adresiyle veya ip bloğu ile erişilmesini istiyorsanız aşağıdaki kodları kullanmamız yeterli.

PHP:
#deny all access
deny from all
allow from 192.168.1.10 # tek ip adresi
allow from 192.168.1.0/24 # ip bloğu

Tek bir dosya için erişimi engellemek için ise yazmanız gereken kodlar:

PHP:
<Files ozel.html>
Order allow,deny
Deny from all
</Files>

Belirli uzantılara sahip tüm dosyalara erişimi engellemek için aşağıdaki kodu kullanabilirsiniz:
PHP:
<Files ~ “^\.txt”>
Order allow,deny
Deny from all
Satisfy All
</Files>

Üstteki örnek kodlar .txt uzantılı dosyalara erişimi engelleyecektir.
 
Geri
Yukarı