Dizin Erişimini Kısıtlama
Htaccess ile Kullanıcılara Kısıtlama
Htaccess Apache Web sunucusu ile birlikte gelen ve Apache Web sunucu üzerindeki belirli dizinlere erişim için kullanıcı adı ve parola sorgulaması yapmaya yarayan bir uygulamadır. Bu sayede özel dizinlere sadece sizin belirlediğiniz kullanıcılar erişebilir.
Bir Örnek verelim, http://www.rt.net.tr/cok_ozel adresine htaccess uygulayalım.
Bu dizin dosya sistemimizde /www/htdocs/cok_ozel olsun. httpd.conf dosyasını bir metin düzenleyicide açalım ve şu ifadeleri yazalım:
<Directory /www/htdocs/cok_ozel> AllowOverride AuthConfig
</Directory>
AllowOverride AuthConfig ifadesi ile bu dizine erişim için httaccess
kullanılması gerektigini belirtiyoruz.
htaccess nerede mi olacak? Tabiki /www/htdocs/cok_ozel dizini altında! Evet /www/htdocs/cok_ozel/ dizini altında .htaccess dosyasını oluşturun (Evet Nokta var! .htaccess) ve içine:
AuthName "RT.NET Ozel Erisim Bolgesi !!!" AuthType Basic AuthUserFile /www/htdocs/cok_ozel/.htpasswd require valid-user
yazınız… Biraz Açıklayalım.
AuthName “RT.NET Ozel Erisim Bolgesi !!!” ifadesi ile http://www.rt.net.tr/cok_ozel yazıldığında karşınıza çıkan kullanıcı adı ve parola diyaloğundaki açıklayıcı bilgidir. Buraya istediğinizi yazabilirsiniz.
AuthType Basic ifadesini değiştirmeyin. Burada kimlik kanıtlama türü belirtiliyor. AuthUserFile /www/htdocs/cok_ozel/.htpasswd, yukarıdaki ifade ile de kullanıcı adı ve parolaların saklandığı dosyanın TAM! yeri belirtiliyor. Evet Tam olarak dosyanın yeri belirtilmelidir.
require valid-user, bu en son ile bu dizine .htpasswd dosyasındaki kullanıcıların erişebiliceği belirtiliyor. .htaccessdosyasıtamam.Sıra.htpasswddosyasını oluşturmayageldi:
# /www/bin/htpasswd -c /www/htdocs/cok_ozel/.htpasswd yenigul
Yukarıdaki komut ile /www/htdocs/cok_ozel/ dizini altında .httpasswd
oluşturulur ve yenigul kullanıcısı eklenir.
-c (creat) parametresi ile .htpasswd dosyası hiç yoktan oluşturulur. İkinci bir kullanıcı eklemek için bu ifadeyi kullanmayınız. İkinci kullanıcının eklenmesi,
# /www/bin/htpasswd /www/htdocs/cok_ozel/.htpasswd yakup
şeklinde olmalıdır.
.htaccess’i de bitirdik!
Dizinleri IP Adresine veya Alan Adına Göre Kısıtlama
Bu kısımda kısıtlama yapılacak adresimiz http://www.rt.net.tr/intranet olsun ve dosyalar /www/htdocs/intranet altında bulunsun.
Sadece belirli IP’lere erişimi verip diğerlerine yasak koymak için, örneğin 212.65.128 uzayındaki IP’lere erişim verelim:
<Directory /www/htdocs/intranet> Order deny,allow Allow from 212.65.128 Deny from All
%lt;/Directory>
Sadece belirli alan isimlerine erişim verip diğerlerine yasak koymak için, örnegin linux.org.tr alanına erişim verelim:
<Directory /www/htdocs/intranet> Order deny,allow Allow from linux.org.tr Deny from All
</Directory>
Sadece belirli IP’lere yasak koyup diğerlerine izin vermek için, örnegin 195.1.2 uzayındaki IP’lere yasak koyalım:
<Directory /www/htdocs/intranet> Order allow,allow Allow from All Deny from 195.1.2
</Directory>
Sadece belirli alan isimlerine yasak koyup diğerlerine izin vermek için, örnegin lamer.com alanına yasak koyalım:
<Directory /www/htdocs/intranet> Order allow,deny Allow from All Deny from lamer.com
</Directory>
Yapılan değişikliklerin etkin olması için
# /www/bin/apachectl restart
komutunu veriniz..