Thread Starter
#0
XML-RPC, internet üzerinden iki farklı sistemin uzak prosedür çağrısı (Remote Procedure Call – RPC) yapmasına imkân tanıyan, XML formatını ve HTTP protokolünü kullanan bir iletişim yöntemidir.
Basit söylemek gerekirse:
Aşağıdaki örnek, “iki sayıyı topla” fonksiyonunun XML üzerinden çağrılmasıdır:
Sunucu da buna XML ile cevap verir:
Bu yüzden XML-RPC günümüzde pek önerilmez.
Sonuç: REST API XMLRPC’nin modern halidir.
Basit söylemek gerekirse:
Bir sunucudaki fonksiyonu, başka bir sunucudan sanki kendi kodunmuş gibi çağırmanı sağlar.XMLRPC = HTTP üzerinden XML formatı ile fonksiyon çalıştırma yöntemidir.
📌 XML-RPC Neyi Çözer?
- İki makine/sistem arasında standartlaştırılmış iletişim sağlar.
- Programlama dillerinden bağımsız çalışır (PHP, Python, Java hepsi XML anlayabilir).
- Fonksiyon çağırma, veri gönderme, veri alma işlemlerini basitleştirir.
🔧 Teknik Yapı
| Bileşen | Açıklama |
|---|---|
| HTTP | XML verisini taşımak için kullanılır |
| XML | Fonksiyon adı + parametreler bu formatta gönderilir |
| RPC | Uzaktaki bir fonksiyonun çalıştırılmasını sağlar |
🧭 XML-RPC Nasıl Çalışır? (Adım Adım)
| Adım | Açıklama |
|---|---|
| 1. | İstemci çalıştırmak istediği fonksiyonun adını ve parametrelerini XML formatına çevirir. |
| 2. | Bu XML verisini HTTP POST isteği ile sunucuya yollar. |
| 3. | Sunucu XML'i çözerek ilgili fonksiyonu çalıştırır. |
| 4. | Sunucu sonucu tekrar XML olarak istemciye gönderir. |
| 5. | İstemci XML cevabı alır ve sonucu işler. |
📡 Örnek XML-RPC İsteği
Aşağıdaki örnek, “iki sayıyı topla” fonksiyonunun XML üzerinden çağrılmasıdır:
CODE
123456789101112<?xml version="1.0"?>
<methodCall>
<methodName>math.add</methodName>
<params>
<param>
<value><int>5</int></value>
</param>
<param>
<value><int>10</int></value>
</param>
</params>
</methodCall>
Sunucu da buna XML ile cevap verir:
CODE
12345678<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value><int>15</int></value>
</param>
</params>
</methodResponse>
🧩 XML-RPC Nerede Kullanılır?
| Kullanım Alanı | Açıklama |
|---|---|
| WordPress | Yeni yazı yayınlama, yorum çekme (XML-RPC API) |
| Eski mobil uygulamalar | Sunucuya bağlanmak için XMLRPC kullanır |
| Sunucular arası veri aktarımı | Uzak prosedür çağrısı ile işlem yapılır |
| Gömülü sistemler | Basit protokol olduğu için tercih edilir |
| Python–PHP–Java arası entegrasyon | Dil bağımsız haberleşme sağlar |
⚠️ XML-RPC’nin Güvenlik Problemleri
XML-RPC günümüzde birçok platformda varsayılan olarak kapatılıyor çünkü:| Sorun | Açıklama |
|---|---|
| Brute-force saldırılarına açık | WordPress'te çok kez hedef alındı |
| XML Bomb saldırıları | Büyük XML ile sunucuyu çökertme |
| DoS saldırıları | Aynı anda binlerce isteği işlemek zorunda kalır |
| Eski teknoloji | REST, JSON, OAuth gibi modern protokoller çok daha güvenli |
🆚 XML-RPC vs REST API
| Özellik | XML-RPC | REST API |
|---|---|---|
| Veri Formatı | XML | JSON |
| Hız | Yavaş | Çok hızlı |
| Modern mi? | Hayır | Evet |
| Güvenlik | Orta-zayıf | Yüksek |
| Kullanım Alanı | Eski sistemler | Yeni web & mobil projeler |
🎯 Kısa Özet
- XML-RPC, internet üzerinden XML ve HTTP kullanarak fonksiyon çalıştırma yöntemidir.
- Eski sistemlerde hâlâ kullanılır ama REST API’nin çıkmasıyla popülerliğini kaybetmiştir.
- Yapısı basit ama güvenlik zayıflıkları nedeniyle günümüzde önerilmemektedir.
[IMG width="249px" size="1050x1050"]https://i.hizliresim.com/a6d55tm.png[/IMG]