Ana Sayfa » »
Tem
9
2013

Güvenlik ve Optimizasyon İçin Birkaç .Htaccess İpucu

Sitelerimizin güvenliğini ve daha hızlı görüntülenmesini sağlamak için .htaccess dosyasını kullanmak mümkün. Bu dosya Apache sunucularda klasörler düzeyinde sunucuda çeşitli ayarlar ve uygulamalar yapabilmemizi sağlayan özelleştirilebilir bir dosyadır.

Aşağıdaki kodlar kendi sitemde de kullandığım kodlardır ve sonuçları onaylanmıştır.

Tarayıcı Önbelleklemeyi Etkinleştirmek için

Kodları .htaccess dosyanızda uygun bir yere yapıştırmanız yeterli.

#Belleğe alınmış dosyalar için son düzenleme kontrolünü iptal et
Header unset ETag
FileETag None

#html ve htm dosyalarını 1 gün süreyle önbelleğe al
<FilesMatch ".(html|htm)$">
Header set Cache-Control "max-age=1800"
</FilesMatch>

#CSS, JavaScript ve Metin dosyalarını 1 hafta süreyle önbelleğe al
<FilesMatch ".(js|css|txt)$">
  Header set Cache-Control "max-age=604800"
</FilesMatch>

#Flash dosyaları ve resimleri 1 ay süreyle önbelleğe al
<FilesMatch ".(flv|swf|ico|gif|jpg|jpeg|png)$">
  Header set Cache-Control "max-age=2592000"
</FilesMatch>

#PHP vb. betik dosyalarını önbelleğe alma
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
  Header unset Cache-Control
</FilesMatch>

#Vary Accept-Encoding header satırını ekler
<IfModule mod_headers.c>
<FilesMatch ".(js|css|xml|gz)$">
	Header append Vary Accept-Encoding
</FilesMatch>
</IfModule>

Bu kodu eklemeden önce Google PageSpeed Aracı ile sitenizi test ettikten sonra bir de kodu ekledikten sonra test işlemini yapın. Aradaki farkı görün.

Klasörlerdeki Dosya Listelemeyi İptal Etmek için

Normalde sitenizdeki bir klasörün adresini tarayıcıda açtığınızda karşınıza o klasördeki dosyalar gelir. Ancak bu güvenliğinizi tehlikeye düşürebilecek bir durum oluşturabilir. Bunu engellemek için aşağıdaki kodu .htaaccess dosyanızın en başına eklemenizi tavsiye ediyorum. Böylece klasörlere boş bir index.htm dosyası koymaya gerek de kalmamaktadır.

Options -Indexes

Eski hale getirmek için satırı silin ya da - sembolünü + ile değiştirin.

RSS Beslemelerinizi FeedBurner Hesabınıza Yönlendirmek için

Sitenizde WordPress kullanıyorsanız, WordPress'in sunduğu farklı RSS adreslerini, Google'ın FeedBurner servisinde açacağınız hesabınıza yönlendirebilirsiniz. Aşağıdaki koddaki adresi değiştirip, kodları .htaccess dosyanıza ekleyin. FeedBurner, beslemelerinizi kullanan ziyaretçilerinizi takip etmenizi sağlayan oldukça yararlı bir araçtır, kullanmanızı şiddetle tavsiye ederim.

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/yakuphoca [R=302,NC,L]
</IfModule>

Bir Klasörün İçerisinde Script (Betik) Dosyası Çalışmasını Engellemek için

Sadece aşağıdaki kodu, .htaccess uzantılı bir dosyaya kaydedin ve bu dosyayı, hangi klasör ve altındaki klasörlerde PHP, HTML ya da benzeri bir dosya çalışmasın istiyorsanız o klasöre yükleyin. Örneğin WordPress siteleri için wp-content klasörü içerisindeki uploads klasörü bu iş için uygun bir klasördür. Böylece uploads klasörünü kullanan bir eklentideki açıktan yararlanıp, bu klasöre bir php dosyası gönderilip, sitede cirit atılmasını engellemiş olursunuz.

AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI

WordPress Sitelerdeki wp-config.php Dosyasına Ulaşımı Engellemek

wp-config.php dosyası WordPress sitelerinin ayarlarının saklandığı bir dosya. Bu nedenle doğrudan ulaşılamaması güvenlik için iyi olacaktır. Aşağıdaki kod işte tam da bunu sağlıyor.

<Files wp-config.php>
  Order Deny,Allow
  Deny from all
</Files>

Ancak bunu sağlamanın başka bir yolu wp-config.php dosyasını bulunduğu klasörün bir üst klasörüne taşımaktır. Yani public_html klasöründeki wp-config.php dosyasını kendi bilgisayarınıza indirin. public_html klasöründeki wp-config.php dosyasını silin. Bir üst klasöre çıkın, benim sitem için bu klasör içerisinde cpanel, tmp, public_ftp vb. klasörlerin bulunduğu klasördür. Bilgisayarımızdaki wp-config.php dosyasını buraya yükleyin. Merak etmeyin, WordPress hata vermeyecek, önce public_html klasöründe dosyayı arayacak, eğer bulamazsa bir üst klasöre bakacak ve bulduğunda yükleyecek. Bunun ne faydası var derseniz, dışarıdan kimse wp-config.php dosyanızı attığınız kök dizine doğrudan erişemez, dolayısıyla wp-config.php dosyamız artık güvende.

.htaccess Dosyasına Doğrudan Ulaşılamaması için

Son olarak ise sitemiz için önemli bir dosya olan .htaccess dosyasını gizleyelim.

<Files .htaccess>
	Order Allow,Deny
	Deny from all
</Files>
Bu yazımı beğendiyseniz, bu kategoride yer alan IMDb Sitesinden Film Bilgilerini Getirme Fonksiyonu başlıklı fonksiyon ve php konularında bilgi veren bir önceki yazımı da okumanızı tavsiye ederim.

Yazıya 1 Yorum Yapıldı+ Yorum Ekle

  • Merhaba Yakup Hocam. Yazıyı okuduktan sonra kodları eklemeden. önce analiz etme tavsiyenizi denedim. ve analiz sonuçları 100 üzerinden 52 verdi. kodları ekledikten sonra konrtol ettim bu sefer 100 üzerinden 70 verdi. Teşekkürler paylaşımınız için....

Yorumunu Yaz

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yukarı Çık