Genellikle Apache olarak anılan Apache HTTP Sunucusu, günümüzde İnternet’te en yaygın kullanılan web sunucusu yazılımlarından biridir. Apache, açık kaynaklı bir yazılımdır; bu, yalnızca kullanımının ücretsiz olduğu anlamına gelmez, aynı zamanda dünya çapındaki geliştiricilerin işbirliğine dayalı katkılarından da yararlanır.
Web sunucusu yönetiminin en önemli yönlerinden biri içeriğe erişimi kontrol etmektir. Yöneticiler, bir web sitesinin belirli alanlarına kimlerin erişebileceğini belirleyebilir; bu, güvenlik ve gizliliği korumak için önemlidir. Bu makale, Apache kullanılarak URL’lere, dosyalara ve dizinlere erişimin nasıl reddedileceğine ilişkin kapsamlı bir kılavuz sunmaktadır.
.htaccess Dosyasını Anlamak
Ayrıntılara girmeden önce kısaca .htaccess dosyasından bahsedelim. .htaccess (Hypertext Access) dosyası, Apache tarafından kullanılan bir yapılandırma dosyasıdır. Yöneticilerin, sunucunun ayarlarını her bir dizin bazında kontrol etmesine ve yönetmesine olanak tanır.
Belirli bir URL’ye Erişimi Reddetme
Belirli bir URL’ye erişimi reddetmek için .htaccess dosyasındaki ‘RewriteEngine’ ve ‘RewriteRule’ yönergelerini kullanabiliriz. ‘RewriteEngine’ direktifi, URL yeniden yazma motorunu etkinleştirir ve ‘RewriteRule’ direktifi, URL’lerin yeniden yazılması için özel bir kural tanımlar.
Örnek: “http://yourwebsite.com/private” URL’sine erişimi engellemek istediğimizi varsayalım. .htaccess dosyamıza şu satırları ekleyebiliriz:
Burada ^private, eşleşecek URL modelini belirtir, – Apache’ye herhangi bir değişiklik yapmamasını söyler ve [F,L], sunucunun bir 403 Forbidden durum kodu döndürmesine ve model eşleştiğinde başka kuralları işlemeyi durdurmasına neden olur.
Belirli Bir Dosyaya Erişimi Reddetme
Belirli bir dosyaya erişimi engellemek için .htaccess dosyasındaki ‘Files’ yönergesini kullanabiliriz. ‘Files’ direktifi, belirtilen joker karakterlerle eşleşen dosyalara uygulanacak bir direktif grubunun kapsüllenmesine izin verir.
Örnek: “privatefile.html” adlı belirli bir dosyaya erişimi engellemek istediğimizi varsayalım. .htaccess dosyamıza şu satırları ekleyebiliriz:
Bu durumda, Order allow,deny, “allow” ve “reddet” yönergelerinin işlendiği sırayı ayarlar. Tümünden reddet, tüm IP adreslerinin belirtilen dosyaya erişmesini engeller.
Belirli Bir Dizine Erişimi Reddetme
Benzer şekilde, belirli bir dizine erişimi engellemek için .htaccess dosyasındaki ‘Directory’ yönergesini kullanabiliriz. ‘Directory’ direktifi, yalnızca adlandırılmış dizin ve onun alt dizinlerine uygulanacak bir direktif grubunu kapsamak için kullanılır.
Örnek: “/private” adlı belirli bir dizine erişimi engellemek istediğimizi varsayalım. .htaccess dosyamıza şu satırları ekleyebiliriz:
Bu kod bloğu, tüm kullanıcıların “/private” dizinine ve içindeki herhangi bir alt dizine erişmesini engeller.
Yazının orijinalini buradan okuyabilirsiniz.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.