WordPress yüklemeler klasörünüzde garip bir PHP dosyası bulmak endişe verici olabilir. Aynı sorunu keşfeden yüzlerce kullanıcıya yardım ettiğimiz için bu duyguyu iyi biliyoruz.
Bu genellikle birçok kişinin gözden kaçırdığı bir güvenlik açığına işaret eder. Hackerlar, onlara web sitenize arka kapı erişimi sağlayan kötü amaçlı komut dosyaları yüklemek için yazılabilir dizinleri kötüye kullanabilirler.
İyi haber şu ki, en sevdikleri saldırı yöntemlerinden birini engellemenin basit bir yolu var. Belirli klasörlerde PHP yürütmesini devre dışı bırakarak, sitenizi çok daha zor bir hedef haline getirirsiniz.
Bunu adım adım tam olarak nasıl yapacağınızı göstereceğiz. WordPress sitenize bu önemli güvenlik katmanını nasıl ekleyeceğinizi inceleyelim.

Neden Belirli WordPress Dizinlerinde PHP Yürütülmesini Devre Dışı Bırakmalısınız?
Varsayılan olarak WordPress, sizin ve web sitenizdeki diğer yetkili kullanıcıların temanızı, eklentilerinizi, resimlerinizi ve videolarınızı kolayca yükleyebilmeniz için belirli dizinleri yazılabilir hale getirir.
Ancak, bu yetenek yanlış ellere geçerse kötüye kullanılabilir, örneğin bilgisayar korsanları bunu arka kapı erişim dosyaları veya kötü amaçlı yazılım yüklemek için kullanabilirler. WordPress web sitenize.
Bu kötü amaçlı dosyalar genellikle WordPress çekirdek dosyaları gibi gizlenir. Çoğunlukla PHP dilinde yazılırlar ve web sitenizin her yönüne tam erişim sağlamak için arka planda çalışabilirler.
Kulağa korkutucu geliyor, değil mi?
Endişelenmeyin. Bunun kolay bir çözümü var. İhtiyacınız olmayan belirli dizinlerde PHP yürütmesini devre dışı bırakmanız yeterlidir. Bunu yaparak, o dizinlerin içinde hiçbir PHP dosyası çalışmayacaktır.
PHP yürütmesini .htaccess dosyası kullanarak devre dışı bırakarak WordPress güvenliğini nasıl geliştireceğimize bir göz atalım.
Belirli WordPress Dizinlerinde PHP Yürütmesini .htaccess Dosyası Kullanarak Devre Dışı Bırakma
Çoğu WordPress sitesinin kök klasöründe bir .htaccess dosyası bulunur. Bu, en popüler web sunucusu yazılım türlerinden biri olan Apache tarafından kullanılan bir yapılandırma dosyasıdır. (Barındırma hizmetiniz Nginx gibi farklı bir sunucu kullanıyorsa, endişelenmeyin, aşağıda SSS bölümünde bunu ele alıyoruz.)
Bu güçlü yapılandırma dosyası, yönetici alanını parola ile korumak, dizin taramasını devre dışı bırakmak, SEO dostu bir URL yapısı oluşturmak ve daha fazlası için kullanılır.
Varsayılan olarak, .htaccess dosyası WordPress web sitenizin kök klasöründe bulunur, ancak iç WordPress dizinlerinizin içine ek .htaccess dosyaları da oluşturabilir ve kullanabilirsiniz.
Web sitenizi arka kapı erişim dosyalarından korumak için bir .htaccess dosyası oluşturmanız ve sitenizin /wp-includes ve /wp-content/uploads dizinlerine yüklemeniz gerekir. /wp-content/uploads klasörünü korumak özellikle önemlidir, çünkü hackerların kötü amaçlı komut dosyaları yerleştirmeye çalışacakları en yaygın yer burasıdır.
Bilgisayarınızda Notepad (Windows'ta) veya TextEdit (Mac'te) gibi bir metin düzenleyici kullanarak yeni bir dosya oluşturun. Ardından, boş dosyayı .htaccess adıyla kaydedin.
Şimdi, aşağıdaki kodu .htaccess dosyanıza kopyalayıp yapıştırın:
<Files *.php>
Require all denied
</Files>
Bu kod, sunucunuza bu klasörden doğrudan .php ile biten bir dosyayı çalıştırma girişimini engellemesini söyler. Kodu yapıştırdıktan sonra dosyayı kaydedin.
Ardından, bu dosyayı WordPress barındırma sunucunuzdaki /wp-includes ve /wp-content/uploads klasörlerine yüklemelisiniz.
Bunu bir FTP istemcisi kullanarak veya barındırma hesabınızın cPanel kontrol panelindeki Dosya Yöneticisi uygulaması aracılığıyla yükleyebilirsiniz.

Yukarıdaki kod içeren .htaccess dosyası eklendikten sonra, bu dizinlerde herhangi bir PHP betiğinin çalışmasını durduracaktır.
Sucuri Kullanarak WordPress'teki Arka Kapıları Kontrol Etme
Bu .htaccess hilesini kullanmak WordPress güvenliğinizi güçlendirmenize yardımcı olur, ancak zaten hacklenmiş bir WordPress sitesini düzeltmez.
Arka kapılar ustaca gizlenmiş olabilir ve zaten göz önünde gizlenmiş olabilir.
Web sitenizde olası arka kapıları kontrol etmek istiyorsanız, web sitenizde Sucuri'yi etkinleştirmeniz gerekir.

Sucuri piyasadaki en iyi WordPress güvenlik eklentisidir. Web sitenizi olası tehditler, şüpheli kodlar, kötü amaçlı yazılımlar ve güvenlik açıkları için tarar.
Ayrıca, siteniz ile şüpheli trafik arasına bir güvenlik duvarı ekleyerek çoğu hack girişiminin web sitenize ulaşmasını etkili bir şekilde engeller.
En önemlisi, WordPress siteniz hacklenirse, onu sizin için temizleyecektir. Daha fazla bilgi edinmek için, hizmetlerini yıllardır kullandığımız için Sucuri incelemesini okuyabilirsiniz.
Hacklenmiş bir WordPress sitesindeki arka kapıları bulma ve düzeltme kılavuzumuzda daha fazla bilgi edinebilirsiniz.
PHP Yürütmesini Devre Dışı Bırakma Hakkında Sıkça Sorulan Sorular
Belirli dizinlerde PHP yürütmesini devre dışı bırakarak WordPress güvenliğini güçlendirme hakkında en sık sorulan sorulardan bazıları şunlardır.
1. .htaccess dosyası nedir ve nerede bulunur?
.htaccess dosyası, Apache web sunucuları tarafından kullanılan bir sunucu yapılandırma dosyasıdır. WordPress'te, web sitenizin URL yapısı gibi şeyleri kontrol eder ve güvenlik kuralları eklemek için kullanılabilir. Genellikle WordPress kurulumunuzun ana kök klasöründe bulabilirsiniz.
2. Yüklemeler klasöründe PHP yürütmesini devre dışı bırakmak web sitemi bozar mı?
Hayır, bu güvenlik önlemi web sitenizin normal işleyişini etkilememelidir. wp-content/uploads ve wp-includes dizinleri doğrudan çalıştırılacak PHP dosyaları içermemelidir. Temalarınız ve eklentileriniz gerekli dosyalarını PHP yürütmesinin hala izin verildiği ayrı klasörlerde tutar.
3. Bu .htaccess hilesi sitemi tamamen güvence altına almak için yeterli mi?
Bu etkili ve önemli bir güvenlik adımı olsa da, bu yalnızca tam bir güvenlik planının yalnızca bir parçasıdır. Eksiksiz bir strateji aynı zamanda bir WordPress güvenlik eklentisi kullanmayı, tüm tema ve eklentilerinizi güncel tutmayı ve tüm kullanıcılar için güçlü parolalar zorlamayı da içermelidir.
4. Web sunucum Apache yerine Nginx kullanıyorsa ne olur?
.htaccess dosyası yalnızca Apache web sunucularında çalışır. Barındırma sağlayıcınız Nginx kullanıyorsa, aynı sonucu elde etmek için sunucunuzun yapılandırma dosyasına farklı bir kural eklemeniz gerekecektir. Platformları için doğru kodla ilgili yardım için barındırma sağlayıcınızın destek ekibiyle iletişime geçmenizi öneririz.
.htaccess dosyasını ekledikten sonra bir hata alırsam ne yapmalıyım?
Çok nadir durumlarda, dosyayı yükledikten sonra '500 Dahili Sunucu Hatası' görebilirsiniz. Bu genellikle web sunucunuzun Apache sunucu yazılımının eski bir sürümünü kullandığı anlamına gelir.
Bu olursa, .htaccess dosyanızı açın ve eklediğiniz kodu aşağıdaki kod parçacığıyla değiştirin:
<Files *.php>
deny from all
</Files>
Dosyayı kaydedin ve yeniden yükleyin. Bu eski kod sürümü aynı şeyi yapar ancak eski sunucularla uyumludur.
WordPress Güvenliğini Artırma Konusunda Uzman Rehberler
Bu makalenin, web sitenizin güvenliğini güçlendirmek için belirli WordPress dizinlerinde PHP yürütmesini nasıl devre dışı bırakacağınızı öğrenmenize yardımcı olduğunu umuyoruz. Ayrıca bazı diğer güvenlik tekniklerini de öğrenmek isteyebilirsiniz. İşte WordPress güvenliğini iyileştirmeye yönelik en iyi rehberlerimizden bazıları:
- Nihai WordPress Güvenlik Kılavuzu (Adım Adım)
- WordPress Güvenlik Denetimi Nasıl Yapılır (Kapsamlı Kontrol Listesi)
- WordPress Sitenizi Potansiyel Olarak Kötü Amaçlı Kodlara Karşı Nasıl Tararsınız
- Kötü Amaçlı Yazılımları ve Hack'leri Tespit Etmek İçin En İyi WordPress Güvenlik Tarayıcıları
- WordPress'te Spam Bağlantı Enjeksiyonunu Bulma ve Kaldırma
- WordPress'e İki Faktörlü Kimlik Doğrulama Nasıl Eklenir (Ücretsiz Yöntem)
- WordPress Giriş Ekranına Güvenlik Soruları Nasıl Eklenir
- WordPress Güvenlik Anahtarlarının Nesi, Neden ve Nasıl Yapıldığı
Bu makaleyi beğendiyseniz, lütfen WordPress video eğitimleri için YouTube Kanalımıza abone olun. Bizi ayrıca Twitter ve Facebook'ta da bulabilirsiniz.


tom
wp-includes klasöründe PHP yürütmelerini devre dışı bırakarak arka kapı kodlarının çalışmasını önleme vb. ile ilgili – ancak bu klasörde admin-bar.php veya author-template.php gibi çalışması gereken önemli görünen çok sayıda PHP dosyası var ve bu klasöre bir htaccess dosyası yerleştirmenin bu dosyaların çalışmasını engelleyip WordPress çekirdek özelliklerini bozabileceğinden şüpheleniyorum? bu arada web sitenizdeki birçok güzel makale için teşekkürler
WPBeginner Desteği
Dosyalara işlevsellik ekleyen belirli bir eklentiniz yoksa, klasörlerde PHP yürütülmesini engelleyen bir sorun olmamalıdır.
Yönetici
tom
Yanıtınız için teşekkürler. Kurulumum basit: astra/spectra, malcare ve hepsi bir arada seo, bu durumda .htaccess dosyasını wp-includes'a da yerleştireceğim. Harika makaleler için tekrar teşekkürler
Mrteesurez
PHP yürütmesini klasörlerde devre dışı bırakarak bir web sitesini güvence altına almanın harika bir yolu olarak görüyorum. Bu makaleye göre, yalnızca iki dizin güvence altına alınmış, diğerleri ne olacak? Doğal olarak mı güvence altına alındılar yoksa bilgisayar korsanlarının girişim sırasında buna ihtiyacı yok mu?
WPBeginner Desteği
Sitenizin dosyalarının diğer bölümleri normalde daha katı erişim gerektirir veya sitenizin çalışması için gerekli php dosyalarına sahiptir.
Yönetici
Jiří Vaněk
Bu güvenlik ipuçları için teşekkürler. Bir htaccess dosyası oluşturdum ve FTP'ye yükleyeceğim. Kendi sunucumda bir web sitem var, bu yüzden güvenlikle ilgili soru tamamen bana ait. WordPress'imi tekrar biraz daha güvenli hale getirmek için bir sonraki adım için teşekkürler.
Unarine Leo Netshifhefhe
Updraft eklentimde yedeklemelerin alınmadığına dair bir uyarı da alıyorum, bu htaccess kaynaklı olabilir mi?
“Yedekleme dizini oluşturulamadı…
Klasör mevcut, ancak web sunucunuzun içine yazma izni yok. Bir WordPress eklentisinin dizine yazma iznini nasıl ayarlayacağınızı öğrenmek için web barındırma sağlayıcınızla görüşmeniz gerekecektir. (wp-content/updraft)
WPBeginner Desteği
Bu bir dosya/klasör izinleri sorunu gibi görünüyor, hosting sağlayıcınızla iletişime geçmeniz gerekir ve onlar size yardımcı olabilirler, ayrıca aşağıdaki rehberimize de göz atabilirsiniz:
https://www.wpbeginner.com/beginners-guide/how-to-fix-file-and-folder-permissions-error-in-wordpress/
Yönetici
Brian Prom
Bilginize: .htaccess kod parçacığınızda bir yazım hatası var.
Kod parçacığınızı olduğu gibi (kapanış / olmadan) kullanmak resim yüklemesini bozar.
WPBeginner Desteği
Thank you for pointing that out, our code should be fixed
Yönetici
Vitor Gonçlaves
Yüklemeler klasöründe eklentiler tarafından oluşturulmuş bazı .php dosyaları buldum. Bunun bir sorun teşkil etmeyeceğini varsayabilir miyim, yoksa her eklentiyi tek tek analiz etmem mi gerekiyor?
WPBeginner Desteği
Eklentilerinize ulaşırsanız, bu dosyalarla ilgili ayrıntıları size bildirebilirler.
Yönetici
nirbo
Bilgi için teşekkürler
WPBeginner Desteği
You’re welcome
Yönetici
cliff denney
çok teşekkür ederim
WPBeginner Desteği
You’re welcome
Yönetici
Suman Samanta
Harika yazmışsınız! Bilgilendirici yazma yeteneğiniz var. İçeriğiniz beni kelimelerin ötesinde etkiledi. Yazarlığınıza büyük hayranlığım var. Bu konudaki tüm değerli girdileriniz için teşekkür ederim.
WPBeginner Desteği
Thank you, glad you enjoy our writing
Yönetici
Thato
Arkadaşlar sanırım htaccess dosyamı karıştırıp bozmuşum, web sitemde hiç resim görüntülenmiyor
WPBeginner Desteği
Merhaba Thato,
.htaccess dosyanızı yedek olarak bilgisayarınıza indirebilir ve ardından web sitenizden silebilirsiniz. WordPress yönetici alanına gidin Ayarlar » Kalıcı Bağlantılar ve değişiklikleri kaydet düğmesine tıklayın. Bu, .htaccess dosyanızı yeniden oluşturmalıdır.
Yönetici
Shawn Rebelo
wp-content yapmayın.
wp-content/uploads yapın.
Ve bu:
sipariş izin ver,reddet
herkesten reddet
Sunuculara göre çok değişebilir.
Hardik
Web sayfalarına yükleme yapmak için yükleme dosyasını etkiler mi?
Bu htaccess dosyasını klasöre yükledikten sonra birçok gönderideki birçok resmin görüntülenmediğini fark ettim.
Chuck Cochems
Evet, `includes` dizinindeki php dosyalarına erişimi reddetmek siteyi bozar çünkü dahil etme işlemi aslında `.htaccess` kısıtlamalarına uyar.
Ancak yüklemeler dizinine uygulanan kısıtlama çok akıllıcadır ve bu varsayılan olarak yüklemeler dizininde olmalıdır ve orada olmaması için iyi bir neden yoktur.
Stan
IIS sunucuları için yöntem nedir?
Teşekkürler,
KOnnie
Aman Tanrım! /wp-includes klasörüne yazma erişimini devre dışı bırakamaz mısın?
Nedeni önleyebilecekken sonuçlarla neden mücadele ediyorsun?
Jonathan Hodgson
Bu, wordpress'in çekirdek güncellemelerindeki dosyaları güncellemesini engellemez mi?
Jeff Wigal
Bunu, aynı şeyi yapacak olan Apache sanal ana bilgisayarınıza da koyabilirsiniz:
Sipariş izin ver,reddet
Herkesi reddet
anton
dosya uzantısında küçük harf ve büyük harf kombinasyonu olduğunda bu kodu nasıl uygularım, örneğin sitemde on.php çalışıyor ancak dosya.PHp, .PHP, .PhP veya bunların bir kombinasyonu ile adlandırıldığında çalışmıyor, arka kapı betiği hala çalıştırılıyor
Teşekkürler
Timothée Moulin
Bunu .htaccess dosyanıza ekleyebilirsiniz
Sipariş Reddet,İzin Ver
Herkesi Reddet
Shams
Merhaba Syed,
Bu kadar bilgilendirici bir yazı için teşekkürler ve aslında WordPress'i hacker'lardan kurtarmak için harika bir çözüm sunuyor.
Vladimir
Merhaba!
Bu makaledeki tüm talimatlarınızı takip ettim, ancak çalışmıyor…
Teşekkürler
Aurélien Debord
Bu kadar iyi ve hızlı ipuçları içeren çok faydalı bir gönderi.
Teşekkürler
Ramon
wp-includes klasörüne bir .htaccess dosyası oluşturdum. Site iyi görünüyordu ancak yönetici sayfalarındaki WYSIWYG düzenleyicim çalışmıyordu. .htaccess dosyasını tekrar kaldırmak zorunda kaldım. (WP 3.9.1)
Wes
Ayrıca wp-includes klasörümün php dosyalarıyla dolu olduğunu fark ettim ve oradaki .htaccess dosyasını kullanmanın bir şeyi bozmayacağını göremiyorum. Yüklemeler dizininde kullandım.
Yayın Kadrosu
Bazen (kullandığınız eklentiye bağlı olarak) bozar, ancak her zaman değil.
Yönetici
Kırmızı
İngilizcemin kötülüğü için kusura bakmayın…
Bu makaledeki tüm talimatlarınızı uyguladım, ancak yeni bir yazı eklemek için kontrol paneli'me gittiğimde, yazı bölümüm bozulmuştu. … .htaccess'in sorun olduğundan şüpheleniyorum.
Onu sildiğimde, yazı iyiydi.
Yayın Kadrosu
Bu soruna neden olan .htaccess dosyasını hangi dizine yüklediniz?
Yönetici
Chris
.htaccess dosyasını wp-includes'e ekledim ve herhangi bir sorun yaşamadım. İpuçları için çok teşekkürler.
Brad
Bunu, php dosyalarıyla dolu olan /wp-includes/ dizinimde denedim. Elbette siteye artık erişemiyordum. .htaccess dosyası ile kullanmak için includes dizinini gerçekten dahil etmeniz anlamına mı geliyordu?
Belki de /wp-includes/images demek istediniz?
Yayın Kadrosu
Hayır. /wp-includes/ klasörünü kastettik. Bunu wp-includes klasörümüzde var. Herhangi bir nedenle sitenizi bozuyorsa, wp-includes klasörünüzden .htaccess dosyasını silin.
Yönetici
Brad
Garip, wp-includes klasörümde 90'dan fazla php dosyası var. Ve siteyi bozuyor. Hemen geri çıkardım.
Ancak /wp-content/uploads/ klasörüne koydum ve orada gayet iyi çalışıyor. Yanıt verdiğiniz için teşekkürler
Alfred
Bir dizindeki php dosyalarına erişimi reddeden bir htaccess dosyası yerleştirmek oldukça garip görünüyor. Sanırım bu dosyalar normalde yalnızca dahil edildiği, doğrudan çalıştırılmadığı için. Eğer öyleyse, tüm dizine erişimi reddetmek daha iyi olmaz mıydı?