Site Overlay

functions.php Güvenliği: WordPress Siteleri için Kritik Koruma Önlemleri

WordPress functions.php Dosyası Nedir ve Neden Korunmalıdır?

functions.php, WordPress sitenizin işlevselliğini genişleten bir dosyadır. Tema veya child tema içerisinde bulunur ve özel kodların, kullanıcı rolleri tanımlarının, kısa kodların ya da WooCommerce gibi eklenti özelleştirmelerinin yer aldığı alandır. Bu dosyaya eklenen her satır kod, WordPress tarafından sunucu tarafında işlenir. Bu da onu hem güçlü hem de tehlikeli hale getirir.

1. FTP Erişimini Sınırla 🔐

WordPress dosyalarına FTP veya dosya yöneticisiyle erişebilen her kullanıcı, functions.php dosyasını da düzenleyebilir. Bu nedenle FTP erişimini sadece güvenilir, teknik bilgisi yüksek kişilere tanımlamalısın.

  • Her FTP hesabı benzersiz kullanıcı adı ve güçlü şifre kullanmalıdır.
  • Gereksiz FTP hesaplarını sil.
  • Mümkünse SFTP kullanarak bağlantı sağla.

2. Kod Editörünü Kapat 🔒

WordPress panelinden doğrudan functions.php dosyasını düzenlemek mümkündür. Ancak bu çok risklidir. Yanlışlıkla silinen bir satır bile siteni tamamen çökertir.

Bu özelliği kapatmak için wp-config.php dosyana şu satırı ekle:

define('DISALLOW_FILE_EDIT', true);

Bu kod, admin panelindeki “Tema Düzenleyici” ve “Eklenti Düzenleyici” ekranlarını kapatır.

3. Functions.php Değişiklik Bildirimi 📩

Bu dosyada yapılan her değişiklik sitenizin davranışlarını doğrudan etkiler. Kötü amaçlı bir kişi ya da dikkatsiz bir düzenleme ciddi sonuçlara yol açabilir. Bu yüzden değişiklikleri anında fark etmek çok kritiktir.

Çözüm: WordPress’e izleme sistemi entegre edebilirsin. Örneğin:

  • Wordfence ya da iThemes Security gibi eklentiler, dosya değişikliklerini takip eder.
  • GitHub gibi sistemlerle versiyon kontrolü uygula. (Özellikle geliştirici ekip çalışıyorsa önerilir)

Ayrıca, functions.php dosyasına şu örnek kodu ekleyerek basit bir e-posta bildirimi bile alabilirsin:

if (!function_exists('notify_function_edit')) {
    add_action('shutdown', function () {
        $file = get_template_directory() . '/functions.php';
        $last_modified = filemtime($file);
        $stored = get_option('functions_last_modified');
        if ($stored !== $last_modified) {
            update_option('functions_last_modified', $last_modified);
            wp_mail('[email protected]', 'functions.php değiştirildi!', 'Lütfen içeriğini kontrol edin.');
        }
    });
}
            

Not: Bu kodu ilk eklediğinde mevcut zaman damgasını kayıt altına alır. Sonraki her değişimde karşılaştırma yapar.

4. IP Adresine Özel Erişim (Opsiyonel Güvenlik Katmanı) 🧱

Eğer sadece sen functions.php üzerinde çalışıyorsan, bu dosyanın sadece senin IP adresinden erişilebilir olmasını sağlayabilirsin.

Apache sunucu için .htaccess:

<Files functions.php>
Order deny,allow
Deny from all
Allow from YOUR.IP.ADDRESS.HERE
</Files>
            

Nginx sunucularda: location direktifi ile benzer şekilde sınırlandırma yapılabilir. Uygulama sunucu yapılandırmasına göre değişiklik gösterecektir.

5. Günlük Yedek Almayı Unutma 💾

En iyi güvenlik önlemi bile %100 garanti veremez. Bu yüzden her zaman otomatik ve düzenli yedekleme sistemin olmalı.

  • functions.php dahil olmak üzere tüm dosyalar ve veritabanı günlük olarak yedeklenmeli.
  • Yedekler bulutta, harici bir sunucuda ya da güvenli bir lokalde saklanmalı.
  • UpdraftPlus, BlogVault gibi WordPress yedekleme eklentileri bu konuda oldukça başarılıdır.

Yedeklerden hızlı geri dönüş yapabilmek seni saatlerce sürebilecek bir felaketten kurtarabilir.

Sonuç

functions.php dosyası, WordPress sitenizin kalbidir. Ona yapılacak her müdahale dikkatli bir şekilde ele alınmalıdır. Yukarıda bahsettiğimiz güvenlik önlemleriyle hem müdahaleleri kontrol altına alabilir hem de siteni daha sağlam bir yapıya kavuşturabilirsin.


image
Başka cihazda görüntüle
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı

Arif Akyüz
Bilgi Teknolojileri
Sistem Network Yöneticisi
ve Siber Güvenlik Uzmanı
[email protected]

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Author: Arif Akyüz

Arif Akyüz - Siber Güvenlik Uzmanı ve Dijital Dönüşüm Lideri 15 yılı aşkın süredir bilişim sektöründe, özellikle siber güvenlik ve dijital dönüşüm alanlarında hizmet veren bir uzmanım. Hem stratejik hem de teknik düzeyde çözümler sunarak organizasyonların güvenlik altyapılarını güçlendiriyor ve dijitalleşme süreçlerini yönetiyorum.