it-swarm.com.de

Beschränken Sie den Zugriff auf xmlrpc.php

Ich bin ziemlich neu in Wordpress und habe kürzlich festgestellt, dass eine große Anzahl von Zugriffen auf Folgendes stößt:

162.242.170.222 - - [01/Aug/2014:08:18:54 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4859
162.242.170.222 - - [01/Aug/2014:08:19:01 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4859
162.242.170.222 - - [01/Aug/2014:08:19:01 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4859
162.242.170.222 - - [01/Aug/2014:08:19:02 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4859
162.242.170.222 - - [01/Aug/2014:08:19:11 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4861
162.242.170.222 - - [01/Aug/2014:08:19:13 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4861
162.242.170.222 - - [01/Aug/2014:08:19:18 -0500] "POST /xmlrpc.php HTTP/1.0" 503 4861

Ich habe die IP-Adresse blockiert, was eine temporäre Lösung ist. Gibt es eine dauerhafte Lösung, um diese Anfragen zu blockieren, besonders wenn ich sie nicht brauche?

2
brentwpeterson

Dafür gibt es Plugins: z. http://wordpress.org/plugins/disable-xml-rpc/

Sie können auch selbst einen Filter schreiben

add_filter('xmlrpc_enabled', '__return_false');

Sie können diesen Code einfach Ihrer theme functions.php hinzufügen (in wp-content/themes/your_theme).

Es wird jedoch empfohlen, ein untergeordnetes Thema zu erstellen ( http://codex.wordpress.org/Theme_Development ), damit Ihre Änderung beim Aktualisieren des Themas nicht verloren geht.

Alternativ können Sie Ihr Plugin erstellen ( http://codex.wordpress.org/Writing_a_Plugin ), in das Sie alle Ihre WordPress-Optimierungen einfügen.

Zum besseren Schutz füge ich noch Folgendes hinzu:

/**
 * Secure WordPress by removing version
 */
remove_action('wp_head', 'wp_generator');


/**
 * Secure WordPress by hiding login errors
 */
function hide_login_errors($errors) { return 'login error'; }
add_filter('login_errors', 'hide_login_errors', 10, 1);
4
YaFred

Wenn Ihr Server ein Apache ist, können Sie den Zugriff blockieren, bevor WordPress überhaupt mit einer Zeile in Ihrer .htaccess-Datei erreicht wird:

Redirect 403 /xmlrpc.php

Sie können eine weitere Zeile hinzufügen, um die Antwort kurz zu halten:

ErrorDocument 403 "no"

Dies sendet eine sehr minimale Antwort (zwei Bytes plus HTTP-Header) und schont Ihre Ressourcen für besseren Datenverkehr.

9
fuxia

Eine andere Möglichkeit besteht darin, dies in Ihre .htaccess-Datei einzufügen:

<Files "xmlrpc.php">
order allow,deny
deny from all
errordocument 403 /noaccess.html
errordocument 404 /noaccess.html
</Files>
2
Hans