public_html dışına taşınması gereken dosyalar hangileridir?

public_html içinde tutulmaması gereken yedek, veritabanı, log ve yapılandırma dosyalarını öğrenin; güvenli sunucu yönetimi için pratik kontrol adımlarını uygulayın.

Reklam Alanı

Web sitenizin kök dizini olan public_html, tarayıcı üzerinden erişilebilen alandır. Bu nedenle burada bulunan her dosya, doğru yapılandırılmamışsa doğrudan görüntülenebilir, indirilebilir veya kötü niyetli kişiler tarafından analiz edilebilir. Özellikle yapılandırma, yedek, günlük ve özel anahtar içeren dosyaların bu dizinde tutulması güvenlik açısından risk oluşturur. Doğru dosya konumlandırması, yalnızca site güvenliği için değil, sürdürülebilir bir hosting yönetimi için de kritik bir adımdır.

public_html dışına taşınması gereken dosyaları belirlerken temel ölçüt şudur: Ziyaretçinin tarayıcıdan erişmesine gerek olmayan her dosya, mümkünse web kök dizininin dışında tutulmalıdır. Uygulama bu dosyalara sunucu tarafında erişebilir; ancak kullanıcı doğrudan URL ile ulaşamamalıdır.

public_html neden riskli bir alandır?

public_html, web sunucusunun dış dünyaya açtığı dizindir. Örneğin siteadi.com/dosya.zip gibi bir adresle bu dizindeki dosyalara erişilebilir. Dosya listeleme kapalı olsa bile, dosya adı tahmin edilebiliyorsa indirme riski devam eder.

Bu durum özellikle eski yedekler, veritabanı çıktıları, hata kayıtları veya API anahtarları için tehlikelidir. Bir dosyanın bağlantısı menüde görünmüyor diye güvenli olduğu varsayılmamalıdır. Güvenli yaklaşım, hassas dosyaları erişilebilir alandan tamamen çıkarmaktır.

public_html dışına taşınması gereken dosyalar

Yedek dosyaları ve arşivler

.zip, .tar, .gz, .rar uzantılı site yedekleri public_html içinde bırakılmamalıdır. Bu dosyalar çoğu zaman tüm tema, eklenti, medya ve yapılandırma dosyalarını içerir. Bir saldırgan bu arşivi indirirse sitenin yapısını, kullanılan eklentileri ve olası zayıf noktaları kolayca inceleyebilir.

Yedekleri mümkünse kullanıcı ana dizininde, web erişimine kapalı bir klasörde saklayın. Daha güvenli bir yöntem olarak uzaktan yedekleme alanı veya şifreli depolama tercih edilebilir.

Veritabanı dışa aktarımları

.sql, .sql.gz veya benzeri veritabanı çıktıları kesinlikle public_html içinde tutulmamalıdır. Bu dosyalar kullanıcı e-postaları, parola hashleri, sipariş kayıtları, yönetici bilgileri ve site ayarlarını içerebilir.

Geçici olarak yükleme yapmanız gerekiyorsa işlem tamamlandığında dosyayı hemen silin. En iyi uygulama, veritabanı yedeklerini web kök dizini dışında, sınırlı izinlere sahip bir klasörde tutmaktır.

Ortam ve yapılandırma dosyaları

.env, config.php, settings.php veya özel bağlantı dosyaları çoğu projede kritik bilgiler barındırır. Veritabanı kullanıcı adı, parola, SMTP hesabı, API anahtarı ve gizli token gibi değerler bu dosyalarda yer alabilir.

WordPress için wp-config.php dosyası bazı sunucu yapılandırmalarında public_html dışına alınabilir. Ancak bunu yapmadan önce sisteminizin bu konumu desteklediğinden emin olun. Yanlış taşıma, sitenin beyaz ekran vermesine veya veritabanı bağlantı hatası üretmesine neden olabilir.

Log ve hata kayıtları

error_log, debug.log ve özel uygulama logları saldırganlar için değerli ipuçları içerebilir. Dosya yolları, sorgu hataları, eklenti isimleri ve sunucu bilgileri bu kayıtlarda görünebilir.

WordPress hata ayıklama kullanılıyorsa wp-content/debug.log dosyasının erişime açık olup olmadığı kontrol edilmelidir. Üretim ortamında hata gösterimi kapatılmalı, loglar ise public_html dışında saklanmalıdır.

Özel anahtarlar, sertifikalar ve kimlik bilgileri

.pem, .key, .crt, SSH anahtarları, ödeme sistemi anahtarları ve servis hesaplarına ait JSON dosyaları public_html içinde bulunmamalıdır. Bu tür dosyalar ele geçirilirse yalnızca web sitesi değil, bağlı servisler de risk altına girer.

Bu dosyalar için en düşük dosya izni prensibi uygulanmalı, yalnızca ilgili sistem kullanıcısının okuyabileceği şekilde konumlandırılmalıdır.

Taşıma yaparken dikkat edilmesi gerekenler

Dosyayı taşımadan önce uygulamanın ilgili dosyaya hangi yoldan eriştiğini kontrol edin. Mutlak yol kullanılıyorsa yeni konumla güncellenmesi gerekir. Göreli yollarla çalışan sistemlerde taşıma sonrası beklenmeyen hatalar oluşabilir.

Taşıma işlemini canlı sitede yapıyorsanız önce tam yedek alın. Ardından dosyayı public_html dışına taşıyın, uygulama ayarını güncelleyin ve siteyi farklı sayfalarda test edin. Özellikle formlar, ödeme adımları, yönetim paneli ve medya yükleme işlemleri kontrol edilmelidir.

Dosya izinleri ve erişim kontrolü

Dosyayı public_html dışına almak önemli bir güvenlik katmanı sağlar; ancak tek başına yeterli değildir. Dosya izinleri gereğinden genişse aynı sunucudaki farklı süreçler veya hatalı yapılandırılmış uygulamalar risk oluşturabilir.

  • Klasörler için genellikle 755, dosyalar için 644 izinleri tercih edilir.
  • Gizli anahtar ve hassas yapılandırma dosyalarında daha kısıtlı izinler kullanılmalıdır.
  • Gereksiz eski yedekler sunucuda bekletilmemelidir.
  • Dosya adlarında backup-final.zip, site.sql gibi tahmin edilebilir ifadeler kullanılmamalıdır.

WordPress sitelerinde pratik kontrol listesi

WordPress kullanan ekipler için hızlı bir denetim, pek çok riski erken aşamada azaltır. public_html içinde eski kurulum klasörleri, gereksiz arşivler, dışa aktarılmış veritabanları ve test amaçlı bırakılmış PHP dosyaları aranmalıdır.

Özellikle ajans veya geliştirici değişikliği sonrası bu kontrol daha önemlidir. Geçici dosyalar çoğu zaman işlem bittikten sonra unutulur. Düzenli denetim, hosting paneli üzerinden dosya yöneticisiyle yapılabileceği gibi SSH erişimi olan yapılarda komut satırıyla da gerçekleştirilebilir.

Karar vermekte zorlanıyorsanız

Bir dosyanın public_html içinde kalıp kalmaması gerektiğinden emin değilseniz şu soruyu sorun: Bu dosyanın ziyaretçi tarafından doğrudan açılması gerekiyor mu? Cevap hayırsa dosya web erişimine kapalı bir alanda durmalıdır. Tema görselleri, CSS, JavaScript ve medya dosyaları erişilebilir olabilir; ancak yedekler, yapılandırmalar, loglar ve kimlik bilgileri bu kapsama girmez.

Kurumsal sitelerde bu yaklaşım yalnızca teknik bir tercih değil, veri güvenliği ve operasyonel sorumluluk meselesidir. Dosya yerleşimi doğru planlandığında hem olası veri sızıntıları azalır hem de sunucu yönetimi daha öngörülebilir hale gelir.

Kategori: Genel
Yazar: Meka
İçerik: 745 kelime
Okuma Süresi: 5 dakika
Zaman: 1 gün önce
Yayım: 07-07-2026
Güncelleme: 07-07-2026