.htaccess konuları [Parola korumalı dizinler ve dosyalar]
.htaccess dosyalarının belki de en çok ihtiyaç duyulan kullanım alanıdır parola korumalı dizinler oluşturma işlemi. “Eski moda” gibi dursa da, hala web geliştiricilerin bazen işine yaramakta ve ihtiyaç duyulmaktadır.
.htaccess dosyası ile bir dizini parola korumalı yapma işleminin iki aşaması vardır.
- korumak istediğimiz dizine bir .htaccess dosyası yerleştiririz.
- Dizini görüntülemek isteyenlerin girmek zorunda olduğu “kullanıcı ismi” ve “parola” nın yer aldığı bir dosya oluştururuz. Bu dosyanın adı .htpasswd dir.

Bu işlem ile koruduğumuz dizinlere kullanıcı erişmek istediğinde pop-up olarak açılan pencere kullanıcı adı ve parola girmesini isteyecek, yetkilendirme gerçekleşmezse 403 hata sayfasını karşısına çıkaracak.
Birinci aşama: .htaccess dosyası
Birinci aşamada .htaccess dosyamızı oluşturalım. İçeriği şu şekilde olacak:
AuthName "Lutfen kullanici adi ve parolanizi giriniz:" AuthUserFile /guvenlidizin/.htpasswd AuthType Basic require valid-user
Bu dosyanın içeriğini şu şekilde açıklayabiliriz: İlk satırda kullanıcının karşısına çıkan pop-up pencerenin kullanıcıya mesajını yazıyoruz, ikinci satırda .htpasswd dosyasının hangi dizinde bulunduğunu belirtiyoruz, korumak istediğimiz dizinin içerisinde olmasına gerek yok, hatta o dizinin içerisinde olmamalı. .htpasswd dosyasının bulunması gereken yer, /www dizinin üzeridir, burada olması daha güvenlidir. 3. satırda yetkilendirme işleminin tipini, 4. satırda ise hangi açıdan yetkilendirme yapacağını belirtiyoruz.
İkinci aşama: .htpasswd dosyası
Bu aşamada oluşturacağımız .htpasswd dosyasının içeriği şu şekilde olacak:
isa:oYBf88gdB5f5o isa2:JyVzUTcfnc.WQ
Bu dosyanın içeriğinde ise kullanıcı adı ve parolası yer alıyor: kullanıcı:parola. Her satırda bir kullanıcı yer almakta. Dolayısıyla bizim işlemimizde tanımlı olan 2 kişi var, isa ve isa2. yalnızca bu kişiler giriş yapabilecek.
Peki parolalar biraz garip değil mi? Evet, garip, çünkü bunlar şifrelenmiş hali. Unix-Linux sistemlerde .htpasswd dosyasına parolanızı şifrelenmiş olarak yazmak zorundasınız. Örneğin yukarıda isa2 kullanıcısının parolası isa2 ancak şifrelenmiş hali ise JyVzUTcfnc.WQ.
Önemli Noktalar
Öncelikle şunu belirmekte fayda var, .htpasswd dosyasını, herkesin erişebileceği bir dizine koymamalısınız, sitenizin ana dizinin üstünde yeralmalı. (www ya da public_html diziniin içerisinde yeralmamalı.) Eğer siteniz linux sunucuda /home/site/ dizininde yer alıyorsa ve sitenizin www klasörü /home/site/www/ şeklinde ise, .htpasswd dosyası /home/site/.htpasswd şeklinde yerleştirilmeli.
.htaccess dosyasında require valid-user nasıl yetkilendirme yapacağını yazdık, burada, .htpasswd dosyasında adı bulunan tüm kullanıcılar, doğru parolayı girdiklerinde, ilgili dizini görüntülemek için yetkilendirilmiş olacaklar. .htpasswd dosyasında yer alan kullancılardan sadece isa’nın giriş yapabilmesini isteseydik, “require user isa” şekilnde yazacaktık kodumuzu.
.htpasswd dosyasında parolamızı nasıl şifreleyeceğiz? Bunun için internette pek çok araç bulunmakta, bazıları: http://www.4webhelp.net/us/password.php , http://www.euronet.nl/~arnow/htpasswd/ , http://www.sherylcanter.com/encrypt.php veya http://css.psu.edu/publish/htpasswd/htpasswd.html adreslerindeki araçlar kullanılabilir.
Sadece belirli dosyaları korumak
Şu ana kadar oluşturduğumuz .htaccess dosyası ile bütün dizine erişim için yetkilendirme gerçekleştirilmesini istedik, ancak sadece belirli dosyalara erişimi de kısıtlayabiliriz. Bu durumda kullanıcılar dizinde gezebilecekler ve sadece bizim belirlediğimiz dosyaları görmek istediklerinde yetkilendirme pop-up penceresi açılacak.
Bu durumda kullanacağımız kod aşağıdaki gibi olacak:
AuthName "Lutfen kullanici adi ve parolanizi giriniz:" AuthUserFile /guvenlidizin/.htpasswd AuthType Basic <files dosya1> require valid-user </files> <files dosya2> require valid-user </files> <files dosya3> require valid-user </files>
Sonuç
.htaccess dosyaları ile dosya ve dizinleri koruma işlemi bu şekilde gerçekleşmekte, siz de dosya veya dizinleri parola korumalı yapmak istediğinizde hızlı şekilde bu methodu kullanarak işlemi gerçekleştirebilirsiniz.
bir sonraki .htaccess yazısında görüşmek üzere!
Bütün .htaccess Yazıları
– .htaccess konuları [Giriş]
– .htaccess konuları [Hataları Yönlendirme]
– .htaccess konuları [IP Engelleme]
– .htaccess konuları [Dizinlerin varsayılan dosyalarını değiştirme]
– .htaccess konuları [Parola korumalı dizinler ve dosyalar]
– .htaccess konuları [Yönlendirme]
– .htaccess konuları [Dinamik bağlandı (hotlink) engelleme]
– .htaccess konuları [kötü örümcekleri engelleme]
– .htaccess konuları [İşaretçi siteye göre engelleme]
– .htaccess konuları [Kapanış]
- Ya da bu blogda yer alan bütün yazıları içindekiler sayfasında görüntüleyebilirsiniz. Tıklayın!
.htaccess konuları [Parola korumalı dizinler ve dosyalar] yazısına 5 Yorum yapılmış.
görüşünü belirt
Arama
E-Posta Aboneliği
RSS Aboneliği
En Çok Yorumlanan Yazılar
- Ajax ile dinamik listeleme (22)
- Blogger’da “devamını oku” bağlantısı (21)
- MySQL’de Transaction ve PHP ile kullanımı (16)
- PHP ile sınırsız alt kategori mantığı (16)
- MySQL’de “join” kullanımı (13)
- Kullanıcı dostu url hazırlamak (12)
- PHP’nin (muhtemelen) az bilinen 10 özelliği (12)
- Kullandığınız programlama dili ne kadar popüler? (12)
- .htaccess konuları [Giriş] (11)
- Blogger’da arama kutusu ekleme (10)
Etiketler
Son Yorumlar
- Fatih: Açıkçası sitenizi yeni keşfettim ve gerçekten beğendim. Kaynak ve tutorial ihtiyacı olduğunda yabancı blog...
- beyo: emeğine sağlık, temiz bir anlatım olmuş
- gokhan: güzel bir anlatım yapmışsın.. devamını bekleriz.. kolay gelsin
- web yazılım şirketi: google blog araması ile .net üzerinden hizmet veren web yazılım şirketi ararken tesadüfen bu web...
- Codderol: çok teşekkürler bu çalışma bana çok yardımcı oldu….
27 / Aralık / 2008
[...] [IP Engelleme] – .htaccess konuları [Dizinlerin varsayılan dosyalarını değiştirme] – .htaccess konuları [Parola korumalı dizinler ve dosyalar] – .htaccess konuları [Yönlendirme] – .htaccess konuları [Dinamik bağlandı (hotlink) engelleme] [...]
[...] [IP Engelleme] – .htaccess konuları [Dizinlerin varsayılan dosyalarını değiştirme] – .htaccess konuları [Parola korumalı dizinler ve dosyalar] – .htaccess konuları [Yönlendirme] – .htaccess konuları [Dinamik bağlandı (hotlink) engelleme] [...]
[...] [IP Engelleme] – .htaccess konuları [Dizinlerin varsayılan dosyalarını değiştirme] – .htaccess konuları [Parola korumalı dizinler ve dosyalar] – .htaccess konuları [Yönlendirme] – .htaccess konuları [Dinamik bağlandı (hotlink) engelleme] [...]
[...] [IP Engelleme] – .htaccess konuları [Dizinlerin varsayılan dosyalarını değiştirme] – .htaccess konuları [Parola korumalı dizinler ve dosyalar] – .htaccess konuları [Yönlendirme] – .htaccess konuları [Dinamik bağlandı (hotlink) engelleme] [...]
keşke bir kısa videoyla örnek uygulama yapsaymışsın. Çok daha anlaşılır olurdu. En azından kendi adıma bunu çok istiyorum.