.htacces dosyası
Burhan
PHP
01.10.2014
2780

.htaccess dosyası (Hypertext Access File), Apache server web sayfasına konulan ve dosya-klasörlere erişim yetkisi belirleyen dosyadır. htaccess’in basit bir metin editörüyle bile oluşturulabilir. Bu dosya kullanılarak bir klasöre erişim yasaklanır veya şifreli giriş izni verilebilir.bu dosyanın adı yoktur sadece “.htaccess” şeklinde uzantı olarak bulunur.”MOD REWRITE” kelimesi ile arama yaparak detaylı örneklere ulaşabilirsiniz. Klasörler düzeyinde sunucuda çeşitli ayarlar ve uygulamalar yapan özelleştirilebilir dosyadır. Sunucularınızda genellikle ana dizinde bulunur ancak güvenlik dolayısıyla çoğu zaman kendini gizlediği için görünmeyebilir.

  • SEO uyumlu link yapısı
  • hotlink engellemesi
  • dosyaları gizlemek
  • hata sayfaları
  • klasör yetki sınırlandırması
  • düşman botları engellemek
  • www yapılandırması
  • dosya şifreleme ve şifre koruması gibi güvenlik işlemleri
  • Ip engellemek
  • domain yönlendirme
  • veri sıkıştırma
  • bakım sayfası oluşturma
  • spam engelleme
  • cihaz algılama ve yönlendirme

Burada güvenlik konusunda işimize yarayacak kısmına değineceğiz.

1.Şifre Koruması

Klasör şifreleme işlemine, ilk önce şifrelemek istediğimiz klasörün içinde kullanıcı adı ve şifreden ibaret olan bir  .htpasswd dosyası oluşturarak başlıyoruz. Burada dikkat edilmesi gereken nokta; kullanıcı adının düz metin, şifrenin ise şifreli karakterlerden oluşması gerekiyor.  Şifreyi http://www.kxs.net/support/htaccess_pw.html adresinden oluşturabilirsiniz. Daha sonra .htaccess dosyanıza aşağıdaki satırları ekleyin.

AuthName "Klasör Adı" //Şifrelemek istediğiniz klasörün adını yazın
AuthType Basic
AuthUserFile /full/path/to/.htpasswd // htpasswd dosyasının yolu.
Require valid-user

2.Klasör Erişimi

Bu metod ile istediğiniz kullanıcıların IP adreslerine engelleme ya da izin atayarak klasörlerinize kişilere özel erişim hakkı sağlayabilirsiniz.

Klasöre hiç kimsenin erişememesini istiyorsanız htaccess dosyasınıza;

#deny all access
deny from all

IP adreslerine göre erişim ayarları yapmak istiyorsanız;

#deny all access
deny from all
allow from xxx.xxx.xxx.xxx # tek ip adresi
allow from xxx.xxx.xxx./24 # ip bloğu

3.Hata Sayfaları

Sitenizde ziyaretçiniz tarafından bir sayfa bulunamadığı durumlarda, htaccess dosyası ile istediğiniz hata sayfasına yönlendirme yapabilirsiniz.

ErrorDocument 401  /KlasorAdi/401.php
ErrorDocument 403  /KlasorAdi /403.php
ErrorDocument 404  /KlasorAdi /404.php
ErrorDocument 500  /KlasorAdi /500.php

4.Bant Genişliği Koruması

Htaccess dosyanıza ekleyeceğiniz Php sıkıştırma modülü sayesinde verilerinizi sıkıştırarak aşırı bant genişliği kullanımını önleyebilirsiniz.
Bunun için aşağıdaki satırları htaccess dosyanıza ekleyin. Eğer sunucunuzda phpsuexec dosyası bulunuyorsa, bu satırları htaccess’e değil php.ini dosyasına eklemeniz gerekiyor.

 
 php_value zlib.output_compression 16386 

5.Hot Link Koruması

Hotlink, sizin sitenizde (sunucunuzda) bulunan resim ya da videolara ait linklerin başka sitelerde kullanılmasına deniyor kısaca. Böyle durumlarda ise olan sizin bant genişliğinize oluyor tabi. Yani sizin isteğiniz dışında fazla bant genişliği kullanımı ortaya çıkıyor.

Bunun önüne geçmek için öncelikle nohotlink.gif adında bir resim dosyası oluşturun. Sonra aşağıdaki satırları .htaccess dosyasına ekleyerek kendi sitenize göre düzenleyin. Böylece sitenize ait dosyaların başkaları tarafından kullanımı durumunda, dosyanın yerine nohotlink.gif resmi görünecektir.

RewriteEngine on
# BEGIN Hotlink Koruması
 

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/nohotlink-resminin-bulunduğu-klasör
# Hotlink resimlerinin olduğu dizini korumasız yapmalıyız ki, sonsuz dönüye girmeyelim.
RewriteRule ^.*$ - [L]
 
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+.)?siteniz.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?facebook.com [NC]
RewriteCond %{HTTP_REFERER} !^https://(.+.)?facebook.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+.)?google.com.tr [NC]
 
RewriteRule .*.(jpg|jpeg|gif|png|bmp|JPG|JPEG|GIF|PNG|BMP)$ http://www.siteniz.com/nohotlink.$1 [L]
# Her format için ayrı ayrı nohotlink imajı oluşturmanız gerekir. Her tarayıcı her format için aynı imajı yorumlayamayabilir.

 
# END Hotlink Koruması
Yorum Yaz / Yazılan Yorumlar
[3.235.105.97]
[Yorumlarda Görünmez!]
Yorumlarınız kontrol edildikten sonra yayınlanmaktadır.
© 2002 - 2020 | Her Hakkı Saklıdır | Herşey Özgürlük için