.htaccess - I: Dizin ve Dosya Ä°ÅŸlemleri

Thursday July 05th 2007, 14:00 pm |   |  Web Teknolojileri | by eser s.

.htaccess süper bir şey. Ne olduğunu nasıl yaptığını vs. anlatmadan örnekler vererek direkt balıklama atlayacağım konuya :) Bu örnekler ihtiyaç duyup aradığımız ama çoğu zaman nasıl yapıldığını bulamadığımız sorunlarımıza yönelik olacak. Bu .htaccess yazı dizisinin ilki de dosya ve dizin işlemlerine yönelik olacak. Aşağıdaki kodlar test edildi onaylandı ;)

Bir dizine girilmesini engellemek
AÅŸağıdaki kodu istediÄŸiniz dizinde bir .htaccess dosyası oluÅŸturup içine yapıştırın. O dizine web’ten girmeye çalıştığınızda, browser artık 403 Forbidden hatası verecektir.

    Order Deny, Allow
    Deny from all

Bir dizindeki belli dosya türlerinin görüntülenmesini engellemek
Diyelim ki CSS ve imaj dosyalarınız /images/ adlı bir dizin altında duruyor. Bu imaj dosyalarınızın /images/design.jpg vb. biçimde o dizin altından görüntülenmesini engellemek istiyorsunuz. Bunu yapmak için o dizin altına oluşturacağınız .htaccess dosyasına aşağıdaki kodu ekliyorsunuz:

   <FilesMatch "\.(gif|jpe?g|png|bmp|css)$">
      Order Deny, Allow
      Deny from all
    </FilesMatch>

Aşağıdaki kod da inc, txt, sql ve ini uzantılı dosyaların çağrılmasını ve görüntülenmesini engelleyecek.

   <FilesMatch "\.(inc|txt|sql|ini)$">
      Deny from all
   </FilesMatch>

.htaccess dosyasının görüntülenmesini engellemek Bu dosya webten çağrılması veya görüntülenmesi genellikle default olarak apache ayarlarından engellenmiştir ama gene de eşeğinizi sağlam kazığa bağlamak isterseniz:

   <Files .htaccess>
      Order Allow, Deny
      Deny from all
   </Files>

Belli dosyalarınızın başka bir siteden çağrılmasını engellemek (hot link)
Diyelim ki sitenizde bazı fotoğraflar var. Bu fotoğraflardan birini başka bir site kendisi host edip link vermektense direkt olarak sizin sitenize link vererek kullanıyor ve dolayısı ile sizin bant genişliğinizden (bandwith) yiyor. Bunu engellemek için:

   Options +FollowSymLinks
   RewriteEngine On
   RewriteCond %{HTTP_REFERER} .
   RewriteCond %{HTTP_REFERER} !^http://(www\.)?alanadiniz\.com(/.*)?$ [NC]
   RewriteRule \.(gif|jpe?g|bmp|png)$ - [F,L]

Yukarıda alanadiniz.com bölümünü gerçek alan adınızla ve uzantısıyla değiştirmeyi unutmayın.

İlk örneklerimiz şimdilik bunlar. Bu yazı dizisine örneklerle devam edeceğim.
Soru, yorum ve önerileriniz için yorum formunu kullanabilir veya iletiÅŸim sayfasındaki bilgilerden bana ulaÅŸabilirsiniz…


Comments
2 Comments   |    |  Comments RSS on this post.  |  
  • Anlatımınız için teÅŸekkürler.
    Şöyle bir sorum var. Ä°ki adet sitem var. 1. sitemden 2. sitemdeki mp3′ü çekerek dinletmek istiyorum. Ama baÅŸka bir siteden çaÄŸrılmasını da engellemek istiyorum.
    Yani kısaca mp3′lerimi kullanmasını istediÄŸim sitelere izin vermek istiyorum. Bir veya daha fazla da olabilir.
    Saygılar.

    .... Comment by abaca • January 6, 2008 @ 13:22 pm
  • .htaccess dosyanizin icine su satirlari eklemeniz gerekiyor.

    <FilesMatch ".(mp3)$">
    Deny from all
    Allow from xx.xx.xx.xx
    </FilesMatch>

    xx’ler yerine ip numarasi veya alan adi yazabilirsiniz. Tek bir IP yazilabildigi gibi IP blogu da kullanilabilir.

    En kolay ve basit sekli bu. Ancak baska yollari da mumkun tabii.

    Bu arada zaman olmadigindan deneyemedim ama mantiken istediginiz sekilde calismasi lazim. Calismazsa veya baska bir sorun olursa lutfen buraya yazin kontrol edelim.

    .... Comment by eser s. • January 9, 2008 @ 17:08 pm
  • Sorry, the comment form is closed at this time.

     
    SHATO Web Hosting Services