So überprüfen Sie, ob XML-RPC in WordPress aktiviert ist

Lesezeit: 2 Minuten

Benutzeravatar von cool
Kalt

Ist es möglich (über PHP) zu überprüfen, ob XML-RPC in WordPress aktiviert ist? So etwas wie eine Funktion zu schreiben, die dies testet.

if(is_xmlrpc_enabled()) {
   //action
}
else {
   //another action
}

Benutzeravatar von cool
Kalt

XML-RPC ist standardmäßig für WP-Versionen > 3.5 aktiviert (mit ‘xmlrpc_enabled’-Hook, der es ermöglicht, es zu deaktivieren). Für ältere Versionen gibt es ein Feld in der Datenbank (Optionstabelle), das angibt, ob es aktiviert ist oder nicht. ( Diese Option wird für wp > 3.5 entfernt)

function is_xmlrpc_enabled() {
    $returnBool = false; 
    $enabled = get_option('enable_xmlrpc'); //for ver<3.5
    
    if($enabled) {
        $returnBool = true;
    }
    else {
        global $wp_version;
        if (version_compare($wp_version, '3.5', '>=')) {
            $returnBool = true; //its on by default for versions above 3.5
        }
        else {
            $returnBool = false;
        }  
    }
    return $returnBool;
}

  • Can funktioniert gut, aber einige Hosting-Unternehmen erlauben aus Sicherheitsgründen standardmäßig keine XML-RPC-Verbindung, und dann wird Ihr Skript nicht funktionieren.

    – Benoti

    16. März 2019 um 10:20 Uhr

  • Die Frage lautet “ist xmlrpc in WordPress aktiviert” und es ist so, wie es ist. Bedeutet, dass ich am Software-Level-Check interessiert bin. Wenn Sie eine Art Protokollfilterung haben, die auf Netzwerkebene durchgeführt wird, ist xmlrpc auf der Ebene von WordPress NOCH aktiviert, aber es wird aufgrund der Netzwerkbeschränkung nicht funktionieren. In diesem speziellen Fall müssen Sie eine Methode mit einem anderen Ansatz implementieren (oder sich an das Hosting-Unternehmen wenden, da diese Art von Einschränkung seltsam ist). Die obige Methode funktioniert also auf jeden Fall für den beschriebenen Zweck (und für die Zeit, in der ich sie verwendet habe).

    – Kalt

    17. März 2019 um 14:02 Uhr

Benutzeravatar von Subodh Ghulaxe
Subodh Ghulaxe

WordPress hat zwei Testmethoden in seinem XML-RPC-Server:

demo.sayHello – Returns a standard “Hello!” message.
demo.addTwoNumbers – Accepts an array containing two numbers and returns the sum.

function sayHello()  
{  
    $params = array();  
    return $this->send_request('demo.sayHello',$params);  
} 

$objXMLRPClientWordPress = new XMLRPClientWordPress("http://localhost/wordpress31/xmlrpc.php" , "username" , "passowrd"); 

function send_request($requestname, $params)  
{  
            $request = xmlrpc_encode_request($requestname, $params);  
            $ch = curl_init();  
            curl_setopt($ch, CURLOPT_POSTFIELDS, $request);  
            curl_setopt($ch, CURLOPT_URL, $this->XMLRPCURL);  
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
            curl_setopt($ch, CURLOPT_TIMEOUT, 1);  
            $results = curl_exec($ch);  
            curl_close($ch);  
            return $results;  
}  

Wenn Sie dasselbe Ergebnis erhalten, bedeutet dies, dass Sie die Anfrage ordnungsgemäß an Ihren WordPress XML-RPC-Server senden und die Anfrage ordnungsgemäß empfangen können.

1387610cookie-checkSo überprüfen Sie, ob XML-RPC in WordPress aktiviert ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy