.htaccess dosyası, istekler WordPress'e ulaşmadan önce sunucu seviyesinde filtrelenmesini sağlar. Aşağıdaki kurallarla hassas dosyaları koruyabilir ve yaygın saldırıları engelleyebilirsiniz.
- Mevcut
.htaccessdosyanızın bir kopyasını alın. - Kuralları
# BEGIN WordPresssatırının üstüne ekleyin; WordPress bu satırlar arasını kendisi yeniden yazar. - WP Toolkit'in güvenlik önlemleri bu kuralların bir kısmını zaten ekler: WP siteler için güvenlik tavsiyeleri
.htaccess dosyasını düzenleme
https://alanadiniz.com:8443adresinden veya müşteri panelinizdeki hizmet sayfasından Plesk panelinize giriş yapın.- Dosyalar menüsünden
httpdocsklasörünü açın. .htaccessdosyasına tıklayıp Metin düzenleyicide düzenle'yi seçin. Dosya görünmüyorsa FTP programınızda gizli dosyaları göstermeyi açın.- Aşağıdaki kurallardan ihtiyacınız olanları ekleyip kaydedin ve sitenizi kontrol edin.
1. Hassas dosyalara erişimi engelleyin
wp-config.php veritabanı parolanızı içerir. Bu dosyanın ve .htaccess dosyasının tarayıcıdan okunmasını engelleyin:
# wp-config.php ve .htaccess dosyalarına dışarıdan erişimi engelle
<Files wp-config.php>
Require all denied
</Files>
<Files .htaccess>
Require all denied
</Files>
2. Dizin listelemeyi kapatın
Klasörlerinizin içeriğinin ve kullandığınız eklentilerin listelenmesini engeller:
# Dizin listelemeyi kapat
Options -Indexes
3. Uploads klasöründe PHP çalıştırmayı engelleyin
En yaygın saldırılardan biri, wp-content/uploads klasörüne zararlı bir PHP dosyası yükleyip çalıştırmaktır. Aşağıdaki kodu yalnızca wp-content/uploads/ klasöründe oluşturacağınız yeni bir .htaccess dosyasına ekleyin:
# Bu klasörde PHP dosyalarının çalışmasını engelle
<FilesMatch "\.(php|phtml|phar)$">
Require all denied
</FilesMatch>
4. XML-RPC erişimini kapatın
Jetpack veya WordPress mobil uygulamasını kullanmıyorsanız, kaba kuvvet (brute force) saldırılarında sık kullanılan XML-RPC'yi kapatın:
# XML-RPC erişimini kapat
<Files xmlrpc.php>
Require all denied
</Files>
5. Kullanıcı adı taramasını engelleyin
Saldırganlar ?author=1 sorgusuyla yönetici kullanıcı adınızı bulmaya çalışır:
# ?author=1 ile kullanıcı adı taramasını engelle
RewriteEngine On
RewriteCond %{QUERY_STRING} (^|&)author=\d+ [NC]
RewriteRule .* - [F,L]
6. Güvenlik başlıkları ekleyin
Sitenizin başka sitelerde çerçeve içinde açılmasını ve dosya türü karışıklığından kaynaklanan saldırıları engeller. Sitenizin bu başlıkları zaten gönderip göndermediğini securityheaders.com ile kontrol edebilirsiniz; gönderiyorsa tekrar eklemeyin.
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
Sorun çıkarsa
- 500 Internal Server Error
- Eklediğiniz son kuralda yazım hatası vardır. Son eklediğiniz bölümü silin veya yedeğinizi geri yükleyin.
- Bir eklenti çalışmıyor
- XML-RPC kapatma veya uploads kuralı bazı eklentileri etkileyebilir. İlgili kuralı kaldırıp tekrar deneyin.
- Aynı kural iki kez eklenmiş
- Wordfence veya Solid Security gibi eklentiler de .htaccess'e kural yazar. Aynı kuralı ikinci kez eklemeyin.
.htaccess dosyası Linux hosting (Apache) içindir. Windows hosting kullanıyorsanız bu ayarlar web.config dosyasıyla yapılır; yardım için destek talebi açabilirsiniz.
