KEMBAR78
WordPress'te XML-RPC'yi Devre Dışı Bırakma (Güvenli Yöntem)
En çok ihtiyaç duyduğunuzda güvenilir WordPress eğitimleri.
WordPress Başlangıç Rehberi
WPB Kupası
25 Milyon+
Eklentilerimizi kullanan web siteleri
16+
Yıllık WordPress deneyimi
3000+
Uzmanlardan WordPress eğitimleri

WordPress'te XML-RPC'yi Devre Dışı Bırakma (Güvenli Yöntem)

XML-RPC, kullanıcıların üçüncü taraf uygulamalar, araçlar ve hizmetler kullanarak WordPress web sitelerine bağlanmalarını sağlayan temel bir WordPress API'sidir. Ne yazık ki geçmişte bilgisayar korsanları, WordPress web sitelerine erişim sağlamak için XML-RPC'yi istismar etmenin yollarını bulmuşlardır.

WPBeginner olarak, binlerce kullanıcının WordPress sitesini güvence altına almasına ve XML-RPC'yi devre dışı bırakmasına yardımcı olduk. Teknik bilginize bağlı olarak farklı yollar izlenebileceğini gördük.

Örneğin, .htaccess dosyasına erişerek veya bir kod parçacığı ekleyerek XML-RPC'yi devre dışı bırakabilirsiniz. Bu arada, yeni başlayan biriyseniz, kodu düzenlemeye gerek kalmadan çekirdek dosyayı devre dışı bırakan bir eklenti var.

Bu makalede, farklı yöntemler kullanarak WordPress'te XML-RPC'yi nasıl kolayca devre dışı bırakacağınızı göstereceğiz.

WordPress'te XML-RPC'yi Kolayca Devre Dışı Bırakın

WordPress'te XML-RPC Nedir?

XML-RPC, 2012'de yayınlanan WordPress 3.5'ten bu yana varsayılan olarak etkinleştirilmiş temel bir WordPress API'sidir. Geliştiricilerin, WordPress web sitenize bağlanmak ve onunla etkileşim kurmak için XML ve HTTPS protokollerini kullanmalarına olanak tanır.

Kısacası, blogunuzu uzaktan erişmek ve yayınlamak için XML-RPC'nin etkinleştirilmesi gerekir; örneğin, mobil bir uygulamayı sitenizi yönetmek için kullanmak veya Uncanny Automator veya Zapier gibi otomasyon hizmetlerine bağlanmak istediğinizde.

Ancak, web sitenizle mobil uygulamaları kullanmıyorsanız, bazı WordPress güvenlik uzmanları XML-RPC'yi devre dışı bırakmanızı önerebilir. Bu, web sitenizi hacklemek için potansiyel olarak istismar edilebilecek bir kapıyı kapatır.

Bununla birlikte, XML-RPC API'sini WordPress'te nasıl kolayca devre dışı bırakacağınıza bir göz atalım. .htaccess yöntemi en iyisidir çünkü en az kaynak yoğunluklu olanıdır ve diğer yöntemler yeni başlayanlar için daha kolaydır.

Yöntem 1: WordPress XML-RPC'yi .htaccess ile Devre Dışı Bırakma (Gelişmiş)

Bu yöntem ileri düzey kullanıcılar içindir çünkü sitenizin .htaccess dosyasını düzenlemenizi gerektirir. Yeni başlayanların Yöntem 2 veya 3'ü kullanmasını öneririz.

Bu yöntemin, kendinize ve ekibinize uzaktan erişim verme ve diğer herkesi kısıtlama yeteneği gibi birçok avantajı vardır. Ayrıca, XML-RPC isteklerini WordPress'e iletilmeden önce devre dışı bıraktığı için WordPress performansınızı olumsuz etkilemez.

Aşağıdaki kodu .htaccess dosyanıza eklemeniz gerekecektir. Bunu, sitenize bir FTP istemcisi veya dosya yöneticisi kullanarak bağlanarak yapabilirsiniz. Ayrıca, All in One SEO kullanıcıları, aşağıdaki ekran görüntüsünde görebileceğiniz gibi, eklentinin yerleşik düzenleyici aracını kullanarak kod parçacığını ekleyebilirler.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
allow from 123.123.123.123
</Files>
htaccess'ten XML-RPC'yi devre dışı bırakmak için AIOSEO Pro'yu kullanın

Sitenize belirli bir kullanıcıya uzaktan erişim vermek istiyorsanız, 5. satırdaki '123.123.123.123' yerine IP adresini girin. Birden fazla IP adresini boşluklarla ayırarak ekleyebilirsiniz.

Veya, XML-RPC'yi tamamen devre dışı bırakmak istiyorsanız, 5. satırı tamamen silin.

Not: .htaccess'i bulamıyorsanız, WordPress'te .htaccess dosyasını neden bulamadığınıza dair kılavuzumuza bakın.

Yöntem 2: WordPress XML-RPC'yi Kod Parçacığı ile Devre Dışı Bırakma (Önerilen)

Bu yöntem, WordPress web sitenize bazı kodlar eklemenizi gerektirir. Bunu daha önce yapmadıysanız, WordPress'te özel kod parçacıklarını nasıl kopyalayıp yapıştıracağınıza dair rehberimize göz atın.

WPCode, WordPress sitenize kod eklemenin en kolay ve en güvenli yoludur. Kod parçacıklarınızı yönetmenize yardımcı olur ve sitenizi bozan herhangi bir hatayı önler.

In this method, we will use one of WPCode’s built-in code snippets to disable XML-RPC.

Öncelikle, ücretsiz WPCode eklentisini yüklemeniz gerekir. Adım adım talimatlar için, bir WordPress eklentisinin nasıl kurulacağına dair adım adım kılavuzumuza göz atın.

Etkinleştirildikten sonra Kod Parçacıkları » Parçacık Ekle bölümüne gidin. WPCode kütüphanesinde XML-RPC'yi devre dışı bırakan bir parçacık zaten bulunmaktadır. Bunu 'xml' diye aratarak bulabilirsiniz.

Bulduğunuzda, 'Snippet kullan' düğmesine tıklamanız gerekir.

XML-RPC'yi devre dışı bırakmak için WPCode Kitliğini Kullanın

Ardından, ‘Aktif’ geçişini ‘Açık’ konumuna getirmeniz gerekir.

Son olarak, kod parçasını sitenizde etkinleştirmek ve XML-RPC API'sini devre dışı bırakmak için 'Güncelle' düğmesine tıkladığınızdan emin olun.

WPCode kod parçasını Etkinleştir'e tıklayarak ve Güncelle'ye basarak açın

Yöntem 3: Bir Eklenti ile WordPress XML-RPC'yi Devre Dışı Bırakma

Bu, web sitenize bir kod parçacığı eklentisiyle başka özelleştirmeler eklemek istemiyorsanız kullanılabilecek basit bir yöntemdir

Sadece Disable XML-RPC-API eklentisini kurun ve etkinleştirin. Daha fazla ayrıntı için, bir WordPress eklentisinin nasıl kurulacağına dair adım adım kılavuzumuza bakın.

Eklenti kutudan çıktığı gibi çalışır ve XML-RPC'yi hemen devre dışı bırakır.

Eklentiyi yapılandırmak için XML-RPC Güvenliği » XML-RPC Ayarları'na gidebilirsiniz. Örneğin, IP adreslerini beyaz listeye alarak belirli kullanıcıların XML-RPC'ye erişmesine izin verebilirsiniz.

XML-RPC-API Eklentisi Ayarlarını Devre Dışı Bırak

WordPress XML-RPC'nin Devre Dışı Olduğunu Test Etme

Şimdi WordPress web sitenizde XML-RPC API'yi başarıyla devre dışı bıraktığınızdan emin olmak için kontrol etmelisiniz.

Ayrıca, tarayıcınızda http://example.com/xmlrpc.php URL'sini ziyaret ederek XML-RPC'nin devre dışı bırakıldığını kontrol edebilirsiniz. ‘example.com’ yerine kendi web sitenizin alan adını değiştirdiğinizden emin olun.

XML-RPC devre dışı bırakılırsa şu hata mesajını görmelisiniz: ‘Yasak: Bu kaynağa erişim izniniz yok.’

Bu makalenin, WordPress'te XML-RPC'yi nasıl kolayca devre dışı bırakacağınızı öğrenmenize yardımcı olduğunu umuyoruz. Ayrıca, WordPress'e JavaScript'in nasıl kolayca ekleneceği ve en iyi WordPress geliştirme araçları hakkındaki rehberimize de göz atmak isteyebilirsiniz.

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.

Açıklama: İçeriğimiz okuyucu desteklidir. Bu, bazı bağlantılarımıza tıklamanız durumunda komisyon kazanabileceğimiz anlamına gelir. WPBeginner'ın nasıl finanse edildiğini, neden önemli olduğunu ve bize nasıl destek olabileceğinizi görün. İşte editöryal sürecimiz.

Nihai WordPress Araç Seti

Araç Kitimize ÜCRETSİZ erişim kazanın - her profesyonelin sahip olması gereken WordPress ile ilgili ürün ve kaynaklardan oluşan bir koleksiyon!

Okuyucu Etkileşimleri

46 CommentsLeave a Reply

  1. Kod parçacığı için teşekkürler. Sonunda, XML-RPC'yi WPCode kullanarak devre dışı bıraktım çünkü bu en kolay yol gibi görünüyordu ve XML-RPC'yi kolayca geri alabilirim. Harika!

  2. htaccess'te, şu satır:
    allow from 123.123.123.123
    IP adresimle düzenlenmesi gerektiğini gösteriyor gibi. Ancak bu hiçbir yerde belirtilmemiş —?

    • Engelleme, özelliğe erişimi sınırlamaya çalışırken, devre dışı bırakma tamamen kapatacaktır. Devre dışı bırakırsanız, birinin farklı bir yöntemle erişmesi konusunda endişelenmenize gerek kalmaz.

      Yönetici

  3. Önerilen XML-RPC'yi Devre Dışı Bırak eklentisi son 2 yıldır güncellenmedi. Eklentinin wordpress'in son 3 sürümüyle test edilmediği belirtiliyor.

  4. Merhaba,

    xmlrpc.php erişimini devre dışı bırakmak, android/ios uygulama geliştirme için kullanılan wordpress api'lerine erişimi de devre dışı bırakacak mı?

    • Bu, uygulamaların kendileri tarafından kullanılan API'ye bağlı olacaktır.

      Yönetici

  5. Çözüm bulundu: nginx yapılandırmasına aşağıdaki bilgilerin eklenmesi: # nginx bloğu xmlrpc.php istekleri location /xmlrpc.php { deny all; }

  6. Apache yerine Nginx kullanıyorum. Sitemde hala .htaccess kullanabilir miyim?
    Ve bu dosyayı public_html dizinine mi yoksa bir seviye üstüne mi kaydetmeliyim?

        • Siteye özgü eklentiyi veya makalenin önceki bölümündeki eklentiyi ekleyeceksiniz.

  7. Merhaba, kodu yapıştıracağım yer web sitesinin kök dizinindeki .htaccess dosyası mı?

    • Yes, the .htaccess in your site’s root folder is where you would add the .htaccess code :)

      Yönetici

  8. Birden fazla ip veya 123.123.123.1, 2, 3, …… 100,101 gibi bir ip aralığı nasıl kullanılır

  9. neden 123.123.123.123'e izin verelim?

    Hizmeti hiç kullanmıyorsak, neden “hepsini reddet” mutlak olmasın?

    • Eğer kodu doğru okuyorsam;
      order deny,allow – deny'i allow'dan önce koyar, çünkü deny 'hepsi' olduğundan allow işlenmez
      deny from all – dediği şeyi yapar
      allow from 123.123.123.123 – bir yer tutucudur

      Sabit bir IP adresiniz varsa, sırayı “izin ver, reddet” olarak değiştirebileceğinizi ve 123.123.123.123 yerine kendi IP adresinizi koyabileceğinizi anlıyorum. Bu, IP adresinize izin verir, diğer tüm IP adreslerini reddeder.

  10. Thanks WP-Beginner, I’m trying to be baddest WP boy in my neighbourhood and this is exactly why I keep coming back to you guys, each question I have you say; here is the easy way, and here is the RIGHT way :-)

    Ben ve .htaccess dosyam, htpasswrd ve müşterilerimin asla ihtiyaç duymayacağı bu XMLRPC şeyi hakkında küçük bir sohbet edeceğiz.

    Hepiniz ağımın bir köşesini biraz daha güvenli hale getirdiniz, MailChimp'in dediği gibi: Yüksek Beşler!

  11. Tamam, bu kodu kullanacağım ama IFTTT'nin web sitemde çalışmasını istiyorum, ne eklemem gerekiyor?

    # WordPress xmlrpc.php isteklerini engelle

    order deny,allow
    deny from all
    allow from 123.123.123.123

  12. Merhaba,

    xmlrpc.php dosyasını .htaccess kullanarak engelleme talimatlarını izledim ancak çalıştığından emin değilim.

    Wordfence güvenlik kullanıyorum ve canlı trafik görünümünde xmlrpc.php dosyası için gelen isteklerin durduğunu görebiliyorum, ancak erişim günlüklerimi kontrol edersem

    tail -f /apache2/logs/access_log

    İsteklerin geldiğini hala görebiliyorum, ancak sondaki kod 500'den 403'e değişti. WordFence eklentimden yanlış bir rapor aldığım ve hala spam ile dolup taştığım konusunda endişeliyim. Herhangi biri tavsiye verebilir mi?

    Teşekkürler,

    PhilB

    • Ah evet! Bu mükemmel çalışıyor, XMLRPC'niz YASAKLANMIŞ!

      HTTP Durum Kodu 403: Sunucu isteği anladı ancak yetkilendirmeyi reddediyor.

  13. Garip bir sorunum var...

    WordPress bloglarımı IFTTT ile kullanıyordum ve her şey yolunda gidiyordu, ta ki MaxCDN ile entegre edene kadar; IFTTT hemen çalışmayı durdurdu. Biraz araştırma yaptım ve sorun XML-RPC'nin devre dışı bırakılmasıyla ilgili olabilir.

    Kontrol panelimde “Ayarlar” > “Yazma” bölümünde XML-RPC, Uzaktan Yayınlama vb. gibi hiçbir şey görmüyorum. Veritabanını seçeneklerde kontrol ettim, ayrıca xml-rpc mevcut değil / eksik.

    IFTTT'nin çalışmaya devam etmesi için XML-RPC'yi etkinleştirmem gerekiyor.

    XML-RPC'yi nasıl yeniden etkinleştirebilirim; ihtiyacım olan tek şey, XML-RPC'yi etkinleştirmek için .htaccess veya functions.php'ye ekleyebileceğim bir betik.

    Ve neden kontrol panelimde XML-RPC işlevselliği eksik?

    Teşekkürler!

  14. WordPress'ime bu dosyayı xmlprc.php nasıl ekleyeceğimi araştırıyordum, 4.5.3 sürümünü kullanıyorum ve bu sayfaya geldim. Jetpack'i etkinleştirdiğimde site_inaccessible hatası aldığım için bu php dosyasını eklemem gerekiyor. Sitemin bu hatayı nasıl çözeceğini lütfen bana söyleyin

    • FTP istemcisi veya cPanel'deki Dosya Yöneticisi'ni kullanarak WordPress sitenize bağlanın. Web sitenizin kök dizininde xmlrpc.php dosyasını arayın. Eğer oradaysa, 2. adımı deneyin. Değilse, WordPress'in yeni bir kopyasını indirin. Sıkıştırın ve açın ve xmlrpc.php dosyasını sitenizin kök dizinine geri yükleyin.

      Adım 2: XML-RPC'yi devre dışı bırakan kodu bulmak için WordPress temanızın functions dosyasını kontrol edin.

      Adım 3: .htaccess ve wp-config dosyalarınızı kontrol edin.

      Yönetici

  15. Lütfen, sitemde xmlrpc'yi etkinleştirmek için ne yapabilirim? çünkü akıllı telefonumdaki wordpress mobil uygulamasını kullanarak giriş yapamıyorum..

  16. Harika! Bu WP filtresi script kiddie saldırısını düzeltti. Kişiyi hala güvenlik duvarından geçirdim, ancak daha fazla IP'yi güvenlik duvarına eklemek için günlükleri kartal gibi izlemek zorunda değilim. TEŞEKKÜRLER.

  17. xmlrpc.php dosyasını sunucu genelinde /etc/httpd/conf/includes/pre_main_global.conf dosyamda devre dışı bırakmaya tamamen katılıyorum. Ancak aklıma şu sorular takılıyor… belirli bir eklentinin çalışması için xmlrpc.php'ye “İHTİYACI” olup olmadığını belirlemenin bir yolu var mı? Erişimi engellemek ve 2 ay sonra bir sorunla karşılaşmak ve sorunun daha önce xmlrpc.php'yi engellemiş olmamdan kaynaklandığını bilmemek konusunda endişelerim var.

    Bir log dosyasında veya benzeri bir yerde, xmlrpc.php engellemesinin neden olduğunu gösterecek yaygın işaretler var mı?

  18. Hey am using WordPress app to post with my android smartphone. Now I can’t login and my login credentials are correct. The response I got was ” we can’t log you in couldn’t connect to the WordPress site”.Could you help me fix this WordPress app login error.

    • XML-RPC'yi devre dışı bıraktıysanız, WordPress mobil uygulamasıyla giriş yapamayabilirsiniz. Bu kod için temanızın functions.php dosyasına bakın

      add_filter('xmlrpc_enabled', '__return_false');

      Varsa, kaldırmanız gerekir. Ayrıca eklentileri devre dışı bırakmayı ve WordPress mobil uygulamasıyla oturum açmanızı engelleyen eklentiyi bulana kadar tek tek etkinleştirmeyi deneyebilirsiniz.

      Yönetici

  19. "123.123.123.123'ten izin ver" seçeneğinin isteğe bağlı olduğunu ve kullanıldığında IP adresinizi veya xmlrpc.php'ye erişmesi gereken cihazın IP adresini içerecek şekilde güncellenmesi gerektiğini belirtmekte fayda var (bu makalede örnekler vermek iyi olur).

  20. GoodbyeCaptcha eklentisini XML-RPC'yi kapatmak için kullanıyorum ve Jetpack etkinleştirildiğinde sorunsuz çalışıyor.
    Umarım yardımcı olur

  21. Üzgünüm, bu yöntemi defalarca denedim. Benim için işe yaramadı – aslında bu kodları .htaccess dosyasına ekledikten sonra ön yüzü kapattı (ziyaretçilerin web sayfasına erişimini engelledi).

  22. Keith, there’s a trend in WordPress to move non-theme related functions out of the functions.php file and into a “site specific plugin”, basically a plugin that you only activate on one unique website and it stores the non-theme related functions for that site.

    Kodu functions.php dosyanıza yerleştirerek aynı şeyi başarabilirsiniz.

  23. Selam Millet
    Biraz kalın kafalı olduğum için üzgünüm ama şunu genişletebilir misiniz… “Tek yapmanız gereken aşağıdaki kodu siteye özel bir eklentiye yapıştırmak:”

    Hangi eklentiler siteye özeldir?

Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkürler. Lütfen tüm yorumların yorum politikamıza göre denetlendiğini ve e-posta adresinizin YAYINLANMAYACAĞINI unutmayın. Lütfen isim alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.