Sibergah.comSiber Güvenliğin Bilgi Karargâhı: Sibergah

Htaccess ile Sayfa ve Dizin İşlemleri

Bu yazı, 3 bölümlü Web Siteleri için Temel Htaccess yazı dizisinin 2. bölümüdür.

Yazı dizimizin bu bölümünde htaccess ile en temel sayfa ve dizin işlemlerinden bahsediyoruz. Bu bölümün ana konuları htaccess ile yönlendirmeler, htaccess ile hata sayfaları oluşturma, şifre korumalı sayfa/dizin oluşturma ve MIME types kullanımıdır.

Bu yazı ile yazı dizisinin orijinali ilk olarak E-Siber.com’da 06.02.2008‘de Mekin Pesen tarafından yayınlanmıştır. Domain adresi değişikliği nedeniyle yazı buraya taşınmıştır. Bu yazı izinsiz olarak hiçbir şekilde başka yerde kullanılamaz.

 

Htaccess ile Hata Sayfaları

Kendi sitenize ait hata sayfaları yazmak için sunucu kökenli hata kodlarını bilmenizde fayda vardır. En çok kullanacağınız ise 404 ve 500 kodları için hata dökümanlarıdır.

  • 404 hata kodu bulunamayan sayfalar için,
  • 500 hata kodu sunucu içi herhangi bir kod veya script hatası söz konusu olduğunda,
  • 401 hata kodu şifre ile korunmuş bir sayfaya yetkisiz olarak girilmeye çalışıldığında,
  • 403 Forbidden kodu dosya yetki izinleriyle (CHMOD) kısıtlanmış bir sayfaya girildiğinde,
  • 400 Bad Request ziyaretçi tarafından URL’nin sonuna olmaması gereken kod veya scriptler eklenerek siteye girilmeye çalışıldığında,

ortaya çıkan hata kodları en bilinenleridir.

Daha önceden hazırlamış olduğunuz hata sayfalarını alttaki kodlar ile htaccess içinde belirtebilirsiniz.

  • ErrorDocument 400 kotutalep.html
  • ErrorDocument 401 yetkisizgiris.html
  • ErrorDocument 403 yasaklanmissayfa.html
  • ErrorDocument 404 bulunamadi.html
  • ErrorDocument 500 sunucuhatasi.html

yukarıdaki kodlar, önceden hazırladığınız kotutalep, yetkisizgiris, yasaklanmissayfa, bulunamadi, sunucuhatasi gibi html dosyalarını gösterir. Yani söz konusu hatalar meydana geldiğinde kullanıcının karşısına şu şekilde www.esiber.com/yetkisizgiris.html gibi sayfalar açılacaktır.

 

 

Htaccess ile Şifre Korumalı Sayfa ve Dizin Oluşturma

İlk olarak yapmanız gereken .htpasswd adlı (uzantısı yok!) dosyayı oluşturmaktır. Ardından bunun içine bir kullanıcı adı ve şifre koymanız gerekiyor. Örneğin kullanıcı adınız: delidoluweb ve şifreniz: com5net olsun. Ve aşağıdaki görüldüğü gibi yazın .htpasswd dosyasının içine yazın:

delidoluweb:com5net

Güvenliğiniz için htpasswd dosyasını hemen ana dizinin altına değil, daha güvenli olabileceği www dizinin üstünde bir dizine yerleştirmeniz önem arz etmektedir. Ayrıca bu dosyayı dizininize yüklerken htaccess dosyasında yaptığınız gibi ASCII olarak atmanız gerekmektedir, BINARY değil.

Yeni bir htaccess dosyası oluşturun ve aşağıdaki kodu oraya yapıştırın:

AuthName "Korumalı Alan"
AuthUserFile /usr/local/sectiginiz-dizin/.htpasswd
AuthGroupFile /dev/null
AuthType Basic
<Files korumali.htm>require user delidoluweb</Files>

<Files> içindeki korumali.htm‘yi siz korunmasını istediğiniz dizin veya sayfa adresi olarak değiştirebilirsiniz. Eğer elinizde bir değil de birden fazla kullanıcı ve şifre varsa bunları da .htpasswd dosyası içinde alt alta yazdıktan sonra yapmanız gereken <Files> içindeki require user delidoluweb‘i require valid-user olarak değiştirmenizdir.

AuthName satırı ise korumak isteğiniz bölgenin adıdır. İstediğiniz gibi isimlendirebilirsiniz. Korumak istediğiniz sayfa/dizin değildir. Bunun yanında http://www.tools.dynamicdrive.com/password/ aracı ile otomatik olarak şifre korumalı sayfalar için ayarlar yapılabilmektedir.

 

Htaccess ile MIME Types Kullanımı

MIMEMultipurpose Internet Mail Extensions (Çok Amaçlı İnternet Posta Eklentileri), SMTP’yi hem metin hem de resim-ses-görüntü gibi birden çok içerik eklenebilecek şekilde genişleten, e-posta uygulamaları aracılığıyla gönderilecek olan iletiye çeşitli türdeki içeriği eklemek için kullanılan standarttır. Eğer bu veriler eklenemezse, htaccess yardımı ile bunu nasıl gerçekleştirebiliriz?

E-posta uygulamalarına ek olarak web tarayıcılarıda çeşitli MIME türlerini desteklemektedir. Bu sayede tarayıcı dosya HTML biçiminde veya gösterebileceği türde bir dosya olup olmadığını algılayarak ne yapması gerektiğini bilmektedir. Sorunlar genelde MP3 ve SWF dosyalarında olmaktadır.

AddType application/x-shockwave-flash swf

Yukarıdaki satırı .htaccess dosyanıza koyarsanız bu sorunu aşmış olacaksınız. Örnek swf (flash dosyaları) için gösterilmiştir, siz bunu istediğiniz dosya formatına uygulayabilirsiniz.

 

Htaccess ile Yönlendirmeler

Sitenizin açılış sayfasını değiştirmek yani ziyaretçi gelir gelmez onu ana sayfa yerine başka bir sayfaya yönlendirmek için htaccess’in pratik yöntemini kullanıyoruz. Bunun için örneğin ziyaretçimiz www.esiber.com adresini tıkladığında karşısına direkt ana sayfa yerine hosgeldiniz.html şeklinde bir sayfa oluşturup oraya otomatik olarak yönlendirebiliriz. Bunun için yapmamız gereken alttaki kodu ana htaccess dosyasına yazmaktan ibarettir:

DirectoryIndex hosgeldiniz.html index.php index.html default.htm

Yukarıdaki koda göre ziyaretçi www.esiber.com’u ziyaret eder etmez karşısına “hosgeldiniz.html” sayfası çıkacaktır. Eğer o sayfa yerinde yoksa sırasıyla kontrol ederek index.php, index.html veya default.htm sayfalarını sunucunuz getirmeye çalışacaktır.

 

Herhangi bir sayfayı veya adresi istediğiniz başka bir yere yönlendirmek için yine htaccess’ten yararlanabiliriz. Bunun için arama motorlarının da anlaması için iki tür yönlendirme söz konusudur. Biri, kalıcı yönlendirme (301 permanent) diğeri de geçici yönlendirmedir. Bunları şu şekilde gerçekleştirilir:

Redirect /eski-dizin/eski-dosya.html http://siteniz.com/yeni-dizin/yeni-dosya.html

Ziyaretçi yukarıdaki koda göre eğer http://www.esiber.com/eski-dizin/eski-dosya.html adresini ziyaret ederse otomatik olarak karşısına http://www.esiber.com/yeni-dizin/yeni-dosya.html sayfası gelecektir. Eğer arama motoruna bu değişikliğin kalıcı olduğunu belirtmek istiyorsa da kodu “Redirect 301” ile başlatamamız gerekecektir.

Series Navigation<< Htaccess NedirHtaccess ile Engelleme Türleri >>

Bir Yorum Yazın