Restricționarea accesului la xmlrpc.php
Sunt relativ nou în WordPress și am observat recent o cantitate enormă de trafic care accesează următoarele:
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
Am blocat adresa IP, care este o soluție temporară. Există o soluție permanentă pentru a bloca aceste cereri, mai ales dacă nu am nevoie de xmlrpc.php?
Dacă serverul tău este un Apache, poți bloca accesul înainte ca WordPress să fie atins cu o singură linie în fișierul .htaccess:
Redirect 403 /xmlrpc.php
Poți adăuga o altă linie pentru a menține răspunsul scurt:
ErrorDocument 403 "no"
Aceasta va trimite un răspuns foarte minimal (doi bytes plus antetele HTTP) și va economisi resursele pentru trafic mai bun.

Există plugin-uri pentru asta: de exemplu http://wordpress.org/plugins/disable-xml-rpc/
De asemenea, poți scrie tu un filtru
add_filter('xmlrpc_enabled', '__return_false');
Poți adăuga simplu acest cod în functions.php al temei tale (aflat în wp-content/themes/numele_temei).
Totuși, este recomandat să creezi o temă copil (http://codex.wordpress.org/Theme_Development) astfel încât modificările tale să nu dispară la actualizarea temei.
Alternativ, poți crea propriul tău plugin (http://codex.wordpress.org/Writing_a_Plugin) unde vei pune toate personalizările tale pentru WordPress.
De asemenea, adaug următoarele pentru o protecție mai bună:
/**
* Securizează WordPress prin eliminarea versiunii
*/
remove_action('wp_head', 'wp_generator');
/**
* Securizează WordPress prin ascunderea erorilor de login
*/
function hide_login_errors($errors) { return 'eroare de autentificare'; }
add_filter('login_errors', 'hide_login_errors', 10, 1);

Ar fi bine să adaugi o explicație despre unde să pui codul și implicațiile utilizării acestei metode

Te rog să nu folosești create_function()
. Niciodată. Este greu de citit și nu poate fi stocat într-un opcache.

Fie o funcție separată, fie o închidere.
