WordPress Güvenliğini Artırmak için En İyi .htaccess Parçacıkları


WordPress güvenliği, acemi blog yazarları arasında en zayıf faktörlerden biridir. Denetimsiz bir WordPress kurulumunda, gözetimsiz bırakılan birkaç potansiyel güvenlik açığı vardır. WordPress kurulum eğitimlerinin çoğu, WordPress'i dakikalar içinde dağıtmanın hızlı ve kolay bir yolunu açıklar. Ancak birkaç önemli güvenlik faktörünü gözden kaçırıyorlar. Örneğin, dizine göz atmak ve 'yönetici' kullanıcı adını kullanmak ciddi güvenlik boşlukları olarak kabul edilir. Bugün WordPress blogunuzun güvenliğini artırmaya yardımcı olacak 10 .htaccess kod parçacığına göz atacağız. Başlamadan önce, htaccess dosyasının ne olduğuna hızlıca bir göz atalım.

.htaccess dosyası nedir?

Bir htaccess dosyası, Apache web sunucusunun her dizin için yorumlaması için isteğe bağlı bir yapılandırma dosyasıdır. Bu dosyada aşağıdakiler gibi çeşitli ayarları saklayabilirsiniz: bir dizini parola ile koruma, IP'leri engelleme, bir dosya veya klasörün genel erişimden engellenmesi vb. Geleneksel olarak, .htaccess dosyası temel WordPress kurulum dizininde bulunur. Varsayılan olarak kalıcı bağlantı yapısını saklar.

İPUCU: Eğitime başlamadan önce, mevcut .htaccess dosyasını (varsa) Dropbox gibi bir bulut depolama hizmetinde yedeklediğinizden emin olun. Bu, belirli bir kod parçacığı sitenizi bozarsa, çalıştığı bilinen son .htaccess dosyasına geri dönmek içindir. Hadi başlayalım.

1. Kötü Botları Engelleyin

kötü botlar

.htaccess dosyasının en iyi kullanımlarından biri, birden çok IP adresinin sitenize erişmesini engelleme yeteneğidir. Bu, bilinen spam göndericileri ve diğer şüpheli veya kötü niyetli erişim kaynaklarını engellerken kullanışlıdır. Kod:

 # Block one or more IP address. # Replace IP_ADDRESS_* with the IP you want to block <Limit GET POST> order allow,deny deny from IP_ADDRESS_1 deny from IP_ADDRESS_2 allow from all </Limit>

IP_ADDRESS_1, sitenize erişmesini engellemek istediğiniz ilk IP olduğunda. İstediğiniz kadar IP ekleyebilirsiniz. Bu IP adreslerinin kullandığı kullanıcı aracıları (tarayıcıları) ne olursa olsun, sunucunuzdan tek bir dosyaya erişemezler. Web sunucusu tüm erişimi otomatik olarak reddeder.

2. Dizin Taramayı Devre Dışı Bırakın

wordpress htaccess hack dizin taramayı devre dışı bırak

Bu, bir WordPress sitesindeki en zayıf güvenlik kusurlarından biridir. Varsayılan olarak, Apache web sunucusu dizin taramayı etkinleştirir. Bu, web sunucusunun kök dizinindeki (bazen ev dizini olarak adlandırılır) içindeki tüm dosya ve klasörlerin bir ziyaretçi tarafından listelenebileceği ve erişilebilir olduğu anlamına gelir. Bunu istemezsiniz çünkü insanların medya yüklemelerinize veya temanız veya eklenti dosyalarınıza göz atmasını istemezsiniz.

Rastgele WordPress çalıştıran 10 kişisel veya iş web sitesi seçersem, bunların 6-8'inde dizin tarama devre dışı bırakılmaz. Bu, herkesin wp-content/uploads klasörünü veya varsayılan index.php dosyasına sahip olmayan herhangi bir dizini kolayca incelemesini sağlar. Aslında, gördüğünüz ekran görüntüsü, düzeltmeyi önermeden önce müşterimin sitesinden. Dizin taramasını devre dışı bırakmak için kod parçacığı:

 # Disable directory browsing Options All -Indexes

3. wp içeriğinden Yalnızca Seçili Dosyalara İzin Ver

Shutterstock_108312266

Bildiğiniz gibi wp-content klasörü, temalarınızı, eklentilerinizi ve tüm medya yüklemelerinizi en çok içerir. Kesinlikle insanların kısıtlama olmadan erişmesini istemezsiniz. Dizin taramasını devre dışı bırakmaya ek olarak, tüm dosya türlerinin erişimini engelleyebilirsiniz, birkaçını kaydedin. Özünde, JPG, PDF, DOCX, CSS, JS vb. gibi dosyaların engellemesini seçerek kaldırabilir ve diğerlerinden engelleyebilirsiniz. Bunu yapmak için bu kod parçasını .htaccess dosyanıza yapıştırın:

 # Disable access to all file types except the following Order deny,allow Deny from all <Files ~ ".(xml|css|js|jpe?g|png|gif|pdf|docx|rtf|odf|zip|rar)$"> Allow from all </Files>

Kod ile yeni bir .htaccess dosyası oluşturmalı ve onu wp-content klasörüne yapıştırmalısınız. Bunu temel kurulum dizinine yerleştirmeyin – aksi takdirde çalışmayacaktır. Ayrıca bir '|' ekleyerek herhangi bir dosya türünü listeye ekleyebilirsiniz. rar'dan sonra. Yukarıdaki liste gerekli dosyaları içerir – XML, CSS ve JavaScript, yaygın resim ve belge formatları ve son olarak en çok kullanılan arşiv formatları.

4. wp-includes ile Tüm Erişimi Kısıtla

Shutterstock_135573032

wp-includes klasörü , yalnızca WordPress'in çekirdek sürümünü çalıştırmak için kesinlikle gerekli olan dosyaları içerir – biri herhangi bir eklenti veya tema olmadan. Unutmayın, varsayılan tema hala wp-content/theme dizininde bulunur. Bu nedenle, (siz dahil) hiçbir ziyaretçinin wp-include klasörünün içeriğine erişmesine gerek yoktur. Aşağıdaki kod parçacığını kullanarak erişimi devre dışı bırakabilirsiniz:

 # Block wp-includes folder and files <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>

5. Yalnızca Seçili IP Adreslerinin wp-admin'e erişmesine izin verin

Shutterstock_140373169

wp-admin klasörü, WordPress panosunu çalıştırmak için gereken dosyaları içerir. Çoğu durumda, bir hesap açmak istemedikçe, ziyaretçilerinizin WordPress panosuna erişmesine gerek yoktur. Yalnızca birkaç seçili IP adresinin wp-admin klasörüne erişmesini sağlamak iyi bir güvenlik önlemidir. WordPress panosuna erişmesi gereken kişilerin IP'lerine izin verebilirsiniz – editörler, katkıda bulunanlar ve diğer yöneticiler. Bu kod parçacığı, yalnızca sabit IP'lerin wp-admin klasörüne erişmesine izin verir ve dünyanın geri kalanına erişimi reddeder.

 # Limit logins and admin by IP <Limit GET POST PUT> order deny,allow deny from all allow from 302.143.54.102 allow from IP_ADDRESS_2 </Limit>

Yeni bir .htaccess dosyası oluşturduğunuzdan emin olun ve bunu temel kurulum dizinine değil wp-admin klasörüne yapıştırın. Eğer ikincisiyse, sizin dışınızda hiç kimse sitenize göz atamaz – arama motorları bile! Bunu kesinlikle istemezsin. Bu önlemin birkaç dezavantajı şu şekildedir:

  • Siteniz yeni kullanıcı kaydına izin veriyorsa veya destekliyorsa, kullanıcı sayısını takip etmek neredeyse imkansız olacaktır. Örneğin WPExplorer'da harika ücretsiz temalarımızı indirmek istiyorsanız kayıt olmanız gerekir.
  • Dinamik IP adreslerine sahip kişiler (çoğunlukla PPP veya PPPoE protokollerini kullanan ADSL geniş bant kullanıcıları), ISP'lerinden her çıkış yaptıklarında ve oturum açtıklarında IP'leri değişir. Tüm bu IP'leri takip etmek ve onları htaccess dosyasına eklemek kesinlikle pratik olmayacaktır.
  • Mobil geniş bant: İster 3G ister 4G'de olun, IP adresiniz bağlı olduğunuz mevcut baz istasyonuna bağlıdır. Diyelim ki seyahat ediyorsunuz – başlangıç ​​noktasından hareket ettiğiniz her birkaç mil ile IP'niz sürekli olarak değişecektir. Yine, htaccess dosyasını takip etmek neredeyse imkansızdır.
  • Genel Wi-Fi Bağlantı Noktaları: Küçük bir yazılıma sahip bir çocuk yazdığınız her karakteri çıkarabileceğinden, halka açık bir Wi-Fi ortak erişim noktası kullanarak İnternet'e bağlanıldığında kimlik bilgilerinin kullanılması büyük bir hayır-hayırdır. Bahsetmemek gerekirse, her Wi-Fi etkin noktasının benzersiz bir IP adresi olacaktır.

Neyse ki, tüm bu dezavantajlar (birincisini kaydedin), bir VPN kullanılarak giderilebilir. VPN'inizi yalnızca tek bir IP adresi kullanarak bağlanacak şekilde ayarlarsanız, bunu htaccess dosyanıza eklemeniz yeterlidir ve tüm sorunlarınız çözülecektir.

6. wp-config.php ve .htaccess'i herkesten koruyun

wordpress-e-ticaret-güvenlik-alışveriş-ipuçları

wp-config.php dosyası, WordPress sitenizin en hassas erişim bilgilerini içerir. Diğer ayarların yanı sıra veritabanı adını ve erişim kimlik bilgilerini ve diğer çeşitli kritik verileri içerir. Hiçbir koşulda başkalarının bu dosyaya bakmasını istemezsiniz. Ve elbette, tüm bu güvenliğin kaynağına – .htaccess dosyasının kendisine – genel erişimi devre dışı bırakmak istiyorsunuz. Aşağıdaki kodla wp-config.php'ye erişimi devre dışı bırakabilirsiniz:

 # Deny access to wp-config.php file <files wp-config.php> order allow,deny deny from all </files>

Tüm htaccess dosyalarına erişimi reddetmek için (bazılarının wp-admin ve diğer klasörlerde olabileceğini unutmayın), bu kod parçasını kullanın:

 # Deny access to all .htaccess files <files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>

7. Görüntü Bağlantısını Reddet

resim-hotlinking

En havalı .htaccess dosya hilelerinden biri olan bu, kuyrukları bacaklarının arasında koşan içerik kazıyıcıları gönderir. Birisi sitenizin resmini kullandığında, bant genişliğiniz tüketilir ve çoğu zaman bunun için kredilendirilmezsiniz. Bu kod parçacığı, bu sorunu ortadan kaldırır ve bir bağlantı tespit edildiğinde bu görüntüyü gönderir.

 # Prevent image hotlinking script. Replace last URL with any image link you want. RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourotherwebsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/MlQAH71.jpg [NC,R,L]

8. Tarayıcı Önbelleğe Alma özelliğini etkinleştirin

web tarayıcıları listesi

İstemci tarafında önbelleğe alma olarak da bilinen bu .htaccess hack, WordPress siteniz için önerilen tarayıcı önbelleğe alma seçeneklerini etkinleştirir. Bunu başka projelerde de kullanabilirsiniz – HTML siteleri vb.

 # Setup browser caching <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule>

9. Bir Bakım sayfasına yönlendirin

Shutterstock_93288208

Web barındırıcılarını taşırken veya bazı bakım görevleri gerçekleştirirken, ziyaretçilerinize web sitesinin bir yükseltme veya bakım işleminden geçtiğini bildirmek için her zaman statik bir "bakım için kapalı" HTML dosyası oluşturmanız önerilir. Bir bakım.html dosyası (veya başka bir dosya adı) oluşturun ve bunu temel WordPress kurulum dizinine yükleyin. Aşağıdaki parçacığı .htaccess dosyanıza yapıştırın. İşlem bittiğinde, genel işleme geri dönmek için bu satırları sildiğinizden veya yorumladığınızdan emin olun. Her satırın başına bir '#' ekleyerek yorum yapabilirsiniz.

 # Redirect all traffic to maintenance.html file RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteRule $ /maintenance.html [R=302,L]

10. Özel Hata Sayfaları

404 şablon

403, 404 ve 500 gibi hatalar için kullanıcı dostu özel hata sayfaları yapılandırmak için .htaccess dosyasını da kullanabilirsiniz. Hata sayfanızı hazırladıktan sonra – diyelim error.html, onu temel WordPress kurulum dizininize yükleyin. Ardından, özel hata sayfasını etkinleştirmek için .htaccess dosyanıza aşağıdaki kod parçacığını ekleyin:

 # Custom error page for error 403, 404 and 500 ErrorDocument 404 /error.html ErrorDocument 403 /error.html ErrorDocument 500 /error.html

Çözüm:

Bugün WordPress sitenizi güçlendirmek için en havalı htaccess tüyolarından bazılarını öğrendik. Her modülü test etmeden önce ve sonra .htaccess dosyasının yedeğini alırken her modülü tek tek denemenizi öneririm. Bunun nedeni .htaccess dosyasının çok kritik olmasıdır. Eksik bir '#' karakteri veya yanlış yerleştirilmiş '</IfModule>' sitenizin bütünlüğünü bozabilir. WordPress kontrol panelinize hareket halindeyken sık sık erişiyorsanız, wp-admin klasörünüz için seçici IP'leri etkinleştirmemeniz önerilir.

Size göre – bu gönderiye ne dersiniz? Sizce bu htaccess dosyasını düzenleme zahmetine değer mi? Daha iyi bir güvenlik ipucu biliyor musunuz? Sizden haber almak isteriz.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir