Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Kupası
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

WordPress’te XML-RPC Nasıl Devre Dışı Bırakılır (Güvenli Yöntem)

XML-RPC, kullanıcıların üçüncü taraf uygulamaları, araçları ve hizmetleri 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 elde etmek için XML-RPC’den yararlanmanın yollarını buldular.

WPBeginner’da binlerce kullanıcının WordPress sitelerinin güvenliğini sağlamalarına ve XML-RPC’yi devre dışı bırakmalarına yardımcı olduk. Teknik bilginize bağlı olarak, bunu yapmanın farklı yolları olduğunu 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 vardır.

Bu makalede, WordPress’te XML-RPC’yi farklı yöntemler kullanarak nasıl kolayca devre dışı bırakabileceğinizi göstereceğiz.

Easily disable XML-RPC in WordPress

WordPress’te XML-RPC Nedir?

XML-RPC, WordPress 3.5’in 2012’de yayınlanmasından bu yana varsayılan olarak etkinleştirilen temel bir WordPress API’sidir. Geliştiricilerin WordPress web sitenize bağlanmak ve etkileşimde bulunmak için XML ve HTTPS protokollerini kullanmalarına olanak tanır.

Kısacası, sitenizi yönetmek için bir mobil uygulama kullanmak veya Uncanny Automator veya Zapier gibi otomasyon hizmetlerine bağlantı kurmak istediğinizde olduğu gibi blogunuza uzaktan erişmek ve yayınlamak için XML-RPC’nin etkinleştirilmiş olması gerekir.

Ancak, web sitenizde mobil uygulamalar kullanmıyorsanız, bazı WordPress güvenlik uzmanları XML-RPC’yi devre dışı bırakmanızı tavsiye edebilir. Bu, web sitenizi hacklemek için potansiyel olarak kullanılabilecek bir kapıyı kapatır.

Bununla birlikte, WordPress’te XML-RPC API’sinin nasıl kolayca devre dışı bırakılacağına bir göz atalım. .htaccess yöntemi en iyisidir çünkü en az kaynak yoğun 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ırakın (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, diğer herkesi kısıtlarken kendinize ve ekibinize uzaktan erişim verme yeteneği gibi çeşitli avantajları vardır. Ayrıca XML-RPC isteklerini WordPress’e aktarılmadan önce devre dışı bıraktığı için WordPress performansınızı olumsuz etkilemez.

Aşağıdaki kodu .htaccess dosyanıza eklemeniz gerekecektir. Bunu bir FTP istemcisi veya dosya yöneticisi kullanarak sitenize 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, kod parçacığını eklemek için eklentinin yerleşik editör aracını kullanabilir.

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
 deny from all
allow from 123.123.123.123
</Files>
Use AIOSEO Pro to disable XML-RPC from htaccess

Belirli bir kullanıcıya sitenize uzaktan erişim vermek istiyorsanız, 5. satırdaki ‘123.123.123.123’ ifadesini IP adresiyle değiştirmeniz yeterlidir. Boşluklarla ayırarak birden fazla IP adresi ekleyebilirsiniz.

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

Not:.htaccess dosyasını bulamıyorsanız, WordPress’te .htaccess dosyasını neden bulamadığınızla ilgili kılavuzumuza bakın.

Yöntem 2: WordPress XML-RPC’yi Kod Parçacığı ile Devre Dışı Bırakın (Ö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ın nasıl kopyalanıp yapıştırılacağına ilişkin kılavuzumuza 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 herhangi bir hatanın sitenizi bozmasını önler.

Bu yöntemde, XML-RPC’yi devre dışı bırakmak için WPCode’un yerleşik kod parçacıklarından birini kullanacağız.

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

Etkinleştirmenin ardından Kod Parçacıkları ” Parçacık Ekle‘ye gidin. WPCode kütüphanesi zaten XML-RPC’yi devre dışı bırakan bir kod parçacığı içeriyor. Bunu ‘xml’ araması yaparak bulabilirsiniz.

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

Use WPCode Library to disable XML-RPC

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

Son olarak, snippet’i sitenizde etkinleştirmek ve XML-RPC API’yi devre dışı bırakmak için ‘Güncelle’ düğmesine tıkladığınızdan emin olun.

Turn the WPCode snippet on by clicking Activate and pressing Update

Yöntem 3: WordPress XML-RPC’yi Bir Eklenti ile Devre Dışı Bırakın

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

XML-RPC-API eklentisini Devre Dışı Bırak’ı yükleyip etkinleştirmeniz yeterlidir. Daha fazla ayrıntı için WordPress eklentisi yükleme hakkındaki adım adım kılavuzumuza bakın.

Eklenti kutudan çıkar çıkmaz ç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ı bölümüne gidebilirsiniz. Örneğin, belirli kullanıcıların IP adreslerini beyaz listeye alarak XML-RPC’ye erişmelerine izin verebilirsiniz.

The Disable XML-RPC-API Plugin Settings

WordPress XML-RPC’nin Devre Dışı Bırakıldığını Test Etme

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

XML-RPC’nin devre dışı bırakılıp bırakılmadığını tarayıcınızda http://example.com/xmlrpc.php URL’sini ziyaret ederek de kontrol edebilirsiniz. ‘example.com’ yerine kendi web sitenizin alan adını yazdığınızdan emin olun.

XML-RPC devre dışı bırakılmışsa, hata mesajını görmelisiniz: “Yasak: Bu kaynağa erişim izniniz yok.

Umarız bu makale WordPress’te XML-RPC’yi nasıl kolayca devre dışı bırakacağınızı öğrenmenize yardımcı olmuştur. WordPress’e nasıl kolayca JavaScript ekleyebileceğiniz ve en iyi WordPress geliştirme araçları hakkındaki rehberimize de göz atmak isteyebilirsiniz.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

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

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Ultimate WordPress Araç Kiti

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

Reader Interactions

46 yorumBir Cevap Bırakın

  1. Jiří Vaněk

    Thank you for the snippet. In the end, I disabled XML-RPC using WPCode because it seemed like the easiest way, and I can also easily revert XML-RPC back. Great!

  2. Pete Mason

    in htaccess, the line:
    allow from 123.123.123.123
    Looks like it wants to be edited with my IP address. But this is not stated anywhere —?

  3. Christine

    Is there a difference between disabling and blocking?

    • WPBeginner Support

      Blocking would attempt to limit access to the feature while disabling would turn it off completely. If you disable it you wouldn’t need to worry about someone accessing it through a different method.

      Yönetici

  4. Rashmi K

    The recomnended plugin Disable XML-RPC has not been updated since last 2 years. It says the plugin has not been tested with the last 3 releases of wordpress.

  5. Nikhil

    Hi,

    Will disabling the xmlrpc.php access also disable the access to wordpress apis used for android/ios app development?

    • WPBeginner Support

      That would depend on the API being used by the apps themselves.

      Yönetici

  6. Vyom

    Found the solution:
    Adding following information in nginx config:
    # nginx block xmlrpc.php requests
    location /xmlrpc.php {
    deny all;
    }

  7. Vyom

    I use nginx instead of Apache. Can I still use .htaccess on my site?
    And do I need to store this file in public_html directory, or one level above it?

    • WPBeginner Support

      If you’re using nginx then you would not be able to use htaccess

      Yönetici

      • Vyom

        Thanks for the reply. So is there an alternative for nginx?

        • WPBeginner Support

          You would add the site-specific plugin or the plugin from earlier in the article.

  8. Chinecherem Somto

    hi, is it on the .htaccess file on the website root that i will paste the code?

    • WPBeginner Support

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

      Yönetici

  9. Mojtaba Rezaeian

    Thank you author.

  10. Bapi

    How to use multiple ip or a ip range like 123.123.123.1, 2, 3, …… 100,101

  11. malcolm

    why would we allow 123.123.123.123 ?

    If we aren’t using the service at all, why not let “deny all” be absolute?

    • Edward

      If i’m reading the code correctly;
      order deny,allow – puts deny before allow, since deny is ‘all’ then allow isn’t processed
      deny from all – does what it says
      allow from 123.123.123.123 – is a place holder

      I gather that if you have a fixed IP address you could change order to “allow,deny” and replace 123.123.123.123 with your IP address. That would allow your IP then deny all others.

  12. David Hoy

    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 :-)

    Me an my .htaccess are going to have a little chat about htpasswrd and this here XMLRPC thingy my clients will never need.

    You all just made my corner of the net a little bit safer, as MailChimp would say: High Fives!

  13. Cezar

    Ok, i will use this code but i want IFTTT to have work on my website what i need to add?

    # Block WordPress xmlrpc.php requests

    order deny,allow
    deny from all
    allow from 123.123.123.123

  14. PhilB

    Hi,

    I have followed the instructions to block the xmlrpc.php file using .htaccess but im not sure if it is working.

    Im using wordfence security and in the live traffic view i can see the requests for the xmlrpc.php file have stopped, but if i check my access logs

    tail -f /apache2/logs/access_log

    I can still see the requests coming in, but the code at the end has changed from 500 to 403. Im concerned im getting a false report from my WordFence plugin and that im still being flooded with spam. Can anyone advise?

    Thanks,

    PhilB

    • David Hoy

      Oh yeah! Thats working perfectly, your XMLRPC is FORBIDDEN!

      HTTP Status Code 403: The server understood the request but refuses to authorize it.

  15. Raymundo

    I got a weird problem…

    I’m using my wordpress blogs with IFTTT and all worked fine, until I integrated it with MaxCDN; IFTTT immediately stopped working. I did some research and the problem might be related to XML-RPC that was de-activated.

    When I check my dashbord in “Settings” > “Writing” , I don’t see anything like XML-RPC, Remote Publishing, etc. I’ve checked database in options, also xml-rpc not available / missing.

    I need to activate XML-RPC to keep my IFTTT working.

    How do I re-activate XML-RPC; all I need is a script that I can add in .htaccess or functions.php to activate XML-RPC.

    And why am I missing the XML-RPC funtionality in my dashboard.

    Thank You!

  16. Muhammad Ammar Ashfaq

    I was searching for how to add this file xmlprc.php to my wordpress i am using 4.5.3 version and i came to this page. I need to add this php file because when i enable jetpack i got error of site_inaccessible. Please tell me hot to resolve this error my site is

    • WPBeginner Support

      Connect to your WordPress site using FTP client or File Manager in cPanel. In your website’s root directory look for xmlrpc.php file. If it is there, then try step 2. If it isn’t then download a fresh copy of WordPress. Unzip and extract it and upload xmlrpc.php file back to your site’s root directory.

      Step 2: Check your WordPress theme’s functions file for the code that disables XML-RPC.

      Step 3: Check your .htaccess and wp-config files.

      Yönetici

  17. omonaija

    Please,what can i do to enable xmlrpc on my site?because i can’t login using wordpess mobile app on my smartphone..

  18. Mook

    Booyah! This WP filter fixed the script kiddie attack. I still firewalled the person, but I don’t have to watch the logs like a hawk to add more IPs to the firewall. THANK YOU.

      • Alex

        Is that because Sucuri acts like the Disable XMLRPC plugin?

        If so I can remove my Disable XMLRPC plugin,

        Thanks

        Alex

        • WPBeginner Support

          Sucuri acts like a firewall between your site and users. It blocks any suspicious activity before it could reach your website.

  19. Chad

    I’m totally onboard for disabling xmlrpc.php server wide in my /etc/httpd/conf/includes/pre_main_global.conf file. But I am left with this questions…is there a way to determine that a particular plugin “NEEDS” xmlrpc.php in order to work? I have concerns with blocking access to it and then having an issue 2 months down the road and not know that the issue is with the fact that I blocked xmlrpc.php previously.

    Are there any common signs to look for in a log file or such which would point to a xmlrpc.php block as the cause?

  20. Soumitra

    Hi, I just installed the plugin , Disable XML-RPC

    Lets see!

  21. Phranq

    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.

    • WPBeginner Support

      If you had disabled XML RPC then you may not be able to login using WordPress mobile app. Look in your theme’s functions.php file for this code

      add_filter('xmlrpc_enabled', '__return_false');

      If it is there, then you need to remove it. You can also try deactivating plugins and turning them on one by one until you find the plugin that is stopping you from login using WordPress mobile app.

      Yönetici

  22. Josiah

    It’s worth noting, that “allow from 123.123.123.123” is optional, and if used should be updated to include your IP, or the IP of the device that needs access to xmlrpc.php (it would be good to cite examples in this article).

  23. Natalie

    I am using GoodbyeCaptcha plugin to turn off the XML-RPC and works with no problem while Jetpack is activated.
    Hope it helps

  24. ATI

    Sorry, I’ve tried this method many times. It didn’t work for me – in fact it brought the front end down (blocking visitors read access to the web page) after adding these codes to the .htaccess file.

  25. Christopher Ross

    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.

    You can accomplish the same thing by placing the code in your functions.php file.

  26. Keith Davis

    Hi Guys
    Sorry to be a bit thick but could you expand on… “All you have to do is paste the following code in a site-specific plugin:”

    Which plugins are site specific?

Bir Cevap Bırakın

Yorum bırakmayı seçtiğiniz için teşekkür ederiz. Lütfen tüm yorumların yorum poli̇ti̇kasi uyarınca denetlendiğini ve e-posta adresinizin yayımlanmayacağını unutmayın. Ad alanında anahtar kelime KULLANMAYIN. Kişisel ve anlamlı bir sohbet edelim.