15 WordPress Siteniz için Faydalı .htaccess Metin Parçacıkları
Sahip olmak iyi yapılandırılmış .htaccess dosyası eğer istersen çok önemli güvenliği arttır ve güvenlik açıklarını azaltmak WordPress sitenizde. Genellikle, bir ana oluşturma hedefi özel .htaccess dosyası sitenizin saldırıya uğramasını önlemektir ancak bu, yönlendirmeleri ele almanın ve önbellekle ilgili görevleri yönetmenin mükemmel bir yoludur..
.htaccess bir yapılandırma dosyası Apache web sunucularında kullanılır. Çoğu WordPress sitesi Apache sunucusunda çalıştırmak, küçük bir kısım olmasına rağmen Nginx tarafından desteklenmektedir. Bu yazıda, bir bulabilirsiniz .htaccess kod parçacıklarının toplanması, geri kalanı diğer faydalı özellikleri uygularken, web sitenizi korumak için kullanabileceğiniz çoğu.
Unutma .htaccess dosyasını yedekle her zaman yapabilmeniz için düzenlemeden önce önceki sürüme dön Eğer sorun çıkarsa.
Ve eğer yapılandırma dosyalarına dokunmayı tercih etmiyorsanız, ben size Kurşun geçirmez güvenlik en güvenilir olan eklenti (ve muhtemelen en eskisi) ücretsiz .htaccess güvenlik eklentisi piyasada.
Varsayılan WP .htaccess oluşturun
.htaccess bir dizin bazında bu, her dizinin kendi .htaccess dosyasına sahip olabileceği anlamına gelir. Kolayca WordPress siteniz olabilir henüz bir .htaccess dosyasına sahip değil. Kök dizininizde bir .htaccess dosyası bulamazsanız boş bir metin dosyası oluştur ve adını .htaccess
.
Aşağıda bulabilirsiniz varsayılan .htaccess WordPress kullanır. Bu koda ne zaman ihtiyaç duyarsanız, WordPress Kodeksinde hızlıca arayabilirsiniz. WP Multisite için farklı bir .htaccess olduğuna dikkat edin..
# BEGIN WordPressRewriteBase Üzerinde / RewriteRule ^ index \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
İle başlayan satırlar #
yorum. Hiçbir şey düzenleme Çizgilerin arasında # BEGIN WordPress
ve # END WordPress
. Özel .htaccess kurallarınızı ekleyin bu varsayılan kuralların altında.
Bu makalede bulabileceğiniz tüm kod parçacıkları çekirdek .htaccess dosyasına git kök dizininizde bulundu.
1. Tüm .htaccess dosyalarına erişimi engelleyin
Aşağıdaki kod erişimi reddediyor WordPress'ine yüklediğiniz tüm .htaccess dosyalarına. Bu şekilde insanların sizi görmesini önleyebilirsiniz. web sunucusu yapılandırmaları.
# Tüm .htaccess dosyalarına erişimi reddediyorSipariş Ver, Reddet Reddet Tüm hepsini kabul et
2. WP yapılandırmanızı koruyun
wp-config.php
dosya içeriyor tüm WP yapılandırmalarınız, veritabanı girişi ve şifreniz dahil Herkesten inkar edebilirsin ya da Yöneticilere erişmek için izin vermek.
İkincisini seçerseniz yorum Yap # Xx.xx.xx.xxx adresinden izin ver
çizgi (kaldır #
satırın başından itibaren) ve yöneticinin IP adresini girin yerine xx.xx.xx.xxx
.
# Wp-config'i korurSipariş ver, Reddet # izin ver xx.xx.xx.xxx izin ver # yy.yy.yy.yyy izin ver Hepsini reddet
3. XML-RPC DDoS saldırısını önleme
WordPress XML-RPC'yi destekler varsayılan olarak uzaktan yayın yapan arayüz mümkün. Bununla birlikte, bu harika bir özellik olsa da, bilgisayar korsanlarının yapabileceği en büyük güvenlik açığından biri. DDoS saldırıları için yararlan.
Bu özelliği kullanmak istemiyorsanız, sadece kullanmak daha iyidir devre dışı bırak. Tıpkı daha önce olduğu gibi yorum yaparak istisnalar ekleyin # Xx.xx.xx.xxx adresinden izin ver
yöneticinizin IP'lerini ekleyin ve ekleyin.
# XML-RPC'yi korur, DDoS saldırısını önlerSipariş Verme Reddet, İzin Ver # İzin ver xx.xx.xx.xxx # izin ver yy.yy.yy.yyy Reddet
4. Yönetici alanınızı koruyun
Aynı zamanda iyi bir fikir yönetici alanını koru yalnızca yöneticilere erişim vererek. İşte, unutma en az bir tane ekle “İzin vermek” istisna aksi halde yöneticinize hiçbir zaman erişemezsiniz.
# Yönetici alanını IP AuthUserFile / dev / null ile korur AuthGroupFile / dev / null AuthName "WordPress Yönetici Erişim Denetimi" AuthType TemelSipariş Verme Reddet, İzin Verme Tümünü izin ver xx.xx.xx.xxx from izin ver yy.yy.yy.yyy izin ver
5. Dizin listesini engelle
Çoğu WordPress sitesi dizin listelemesini devre dışı bırakmaz; klasör ve dosyalarına göz at, medya yüklemeleri ve eklenti dosyaları dahil. Bunun çok büyük bir güvenlik açığı olduğunu söylemeye gerek yok.
Aşağıda nasıl bir tipik WordPress dizini listesi benziyor.
Neyse ki, sadece ihtiyacınız bir kod satırı Bu özelliği engellemek için Bu kod pasajı olacak 403 hata mesajı döndür Rehberlerinize erişmek isteyen herkes için.
# Dizin listeleme seçeneklerini engeller -Indexler
6. Kullanıcı adı numaralandırmasını önleyin
WP permalinkleri etkinse, kullanımı oldukça kolaydır. kullanıcı adlarını sırala yazar arşivlerini kullanarak. Açıklanan kullanıcı adları (yöneticinin kullanıcı adı dahil) daha sonra kullanılabilir. kaba kuvvet saldırıları.
Aşağıdaki kodu .htaccess dosyasına ekleyin. kullanıcı adı numaralandırmasını engelle.
# Kullanıcı adı numaralandırmasını engeller RewriteCond% QUERY_STRING author = d RewriteRule ^ /? [L, R = 301]
7. Spam gönderenleri ve botları engelle
Bazen isteyebilirsiniz belirli IP adreslerinden erişimi kısıtla. Bu kod pasajı, zaten bildiğiniz spam göndericileri ve botları engellemenin kolay bir yolunu sağlar.
# Spamcıları ve botları engellerSipariş Ver, Sipariş Ver Denyeni - xx.xx.xx.xxx den Denyyyy.yy.yyy Tümünden izin ver
8. Görüntü hotlinking engelleyin
Güvenlik tehdidi olmasa da, görüntü hotlinking hala can sıkıcı bir şey. İnsanlar sadece resimlerinizi izniniz olmadan kullanın ama onlar bile pahasına. Bu birkaç kod satırıyla sitenizi resim hotlinking'ten koruyabilirsiniz.
# RewriteCond% HTTP_REFERER! ^ Üzerindeki RewriteEngine görüntü bağlantılarını engeller% RewriteCond% HTTP_REFERER! ^ Http (s)?: // (www \.)? Yourwebsite.com [NC] RewriteCond% HTTP_REFERER! ^ Http ( s)?: // (www \.)? yourwebsite2.com [NC] RewriteRule \. (jpe? g? | png | gif | ico | pdf | flv | swf | gz) $ - [NC, F, L]
9. Eklenti ve tema PHP dosyalarına doğrudan erişimi kısıtlayın
Birisi tehlikeli olabilir doğrudan eklenti ve tema dosyalarınızı çağırır, yanlışlıkla mı yoksa kötü niyetli bir saldırgan tarafından mı olduğu. Bu kod pasajı Acunetix web sitesinin güvenlik şirketinden geliyor; bu güvenlik açığı hakkında daha fazla bilgisini blog gönderilerinde okuyabilirsiniz..
# Eklenti ve tema dizinlerinden PHP dosyalarına erişimi kısıtlar RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / dosya / to / exclude \ .php RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / directory / to / exclude / RewriteRule wp-content / plugins / (. * \. php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-content / temalar / dosya / / dışlama \ .php RewriteCond% REQUEST_URI! ^ / Wp içeriği / temalar / dizin / dizin / dışlama / RewriteRule wp içeriği / temalar / (. * \. Php) $ - [R = 404, L]
10. Kalıcı yönlendirmeleri ayarlama
Kolayca yapabilirsiniz kalıcı yönlendirmeler işlemek .htaccess ile. İlk önce eklemek zorundasın eski URL, sonra izleyin yeni URL kullanıcıyı yönlendirmek istediğiniz sayfaya işaret eder..
# Kalıcı yönlendirmeler Yönlendirme 301 / oldurl1 / http://yoursite.com/newurl1 Yönlendirme 301 / oldurl2 / http://yoursite.com/newurl2
11. Ziyaretçileri bir bakım sayfasına gönderin
Bu teknik hakkında burada ayrıntılı olarak yazdık. İhtiyacın var ayrı bakım sayfası (maintenance.html
örnekte) bu .htaccess kuralının çalışması için. Bu kod WordPress sitenizi koyar bakım moduna.
# Bakım sayfasına yönlendirirRewriteCond% REMOTE_ADDR! ^ 123 \ .456 \ .789 \ .000 RewriteEngine% RewriteCond% REQUEST_URI! /Maintenance.html$ [NC] RewriteCond% REQUEST_URI! \. ) [NC] RewriteRule. * /Maintenance.html [R = 503, L]
12. WP’ye tüm erişimi kısıtlayın
/ / Wp-içeren
Klasör çekirdek WordPress dosyalarını içerir bu, CMS'nin çalışması için gereklidir. Bir kullanıcının buraya erişmek isteyebileceği içerik, eklenti, tema veya başka bir şey yoktur. Bu yüzden güvenliği artırmak için en iyisi tüm erişimi ona kısıtla.
# Wp içeren tüm klasör ve dosyaları engellerRewriteBurkin Hakkında RewriteBase / RewriteRule ^ wp-admin / include / - [F, L] RewriteRule! ^ Wp-içerir / - [S = 3] RewriteRule ^ wp-içerir / [^ /] + \. L] RewriteRule ^ wp-içerir / js / tinymce / langs /.+ \. Php - [F, L] RewriteRule ^ wp-içerir / tema-compat / - [F, L]
13. Siteler arası komut dosyasını engelleme (XSS)
Aşağıdaki kod pasajı WP Mix’e aittir ve sitenizi karşı korur bazı yaygın XSS saldırıları, yani komut dosyası enjeksiyonlarını ve genel ve istek değişkenlerini değiştirme girişimleri.
# Bazı XSS saldırılarını engellerRewriteCond% QUERY_STRING (\ |% 3E) [NC, OR] RewriteCond% QUERY_STRING GLOBALS (= | \ [| \% [0-9A-Z] 0,2) [VEYA] RewriteCond% QUERY_STRING _REQUEST (= | \ [| \% [0-9A-Z] 0,2) Yeniden Yazım Kuralı. * İndex.php [F, L]
14. Tarayıcı önbelleğe almayı etkinleştir
Daha önce de belirttiğim gibi, .htaccess sadece güvenlik sebepleri ve yönlendirmeleri için uygun değildir, aynı zamanda size yardımcı olabilir. önbelleği yönet. Aşağıdaki kod pasajı Elegant Temalar’dan tarayıcı önbelleğini mümkün kılar ziyaretçileri etkinleştirerek belirli dosya türlerini kaydet, bu yüzden bir dahaki sefere ziyaret ettiklerinde tekrar indirmeleri gerekmez.
# Tarayıcı önbelleğe almayı etkinleştirirExpiresAcy On ExpiresByType görüntü / jpg "erişim 1 yıl" ExpiresByType görüntü / jpeg "erişim 1 yıl" ExpiresByType görüntü / gif "erişim 1 yıl" ExpiresByType görüntü / png "erişim 1 yıl" ExpiresByType metin / css "erişim 1 ay" ExpiresByType uygulama / pdf "erişim 1 ay" ExpiresByType metin / x-javascript "erişim 1 ay" ExpiresByType uygulama / x-shockwave-flash "erişim 1 ay" ExpiresByType görüntü / x-simge "erişim 1 yıl" ExpiresDefault "erişim 2 gün"
15. Özel hata sayfalarını ayarla
WordPress sitenizdeki özel hata sayfalarını ayarlamak için .htaccess kullanabilirsiniz. Bu yöntemin çalışması için ayrıca özel hata sayfaları yarat (özel 403.html
, özel 404.html
örnekte) ve onları yükle kök klasörüne.
İçin özel bir hata sayfası oluşturabilirsiniz. herhangi bir HTTP hata durumu kodu (4XX ve 5XX durum kodları) istediğiniz.
# Özel hata sayfalarını ayarlar ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html