Cómo solucionar el Error 403 Forbidden de WordPress

Logo WordPressComo tantos usuarios he tenido este problema en mi blog, el error 403 Forbidden de WordPress.

Al parecer se están produciendo multitud de ataques masivos a la plataforma WordPress que traen como consecuencia que no se pueda acceder al panel de administración aunque el blog se sigue viendo correctamente, es decir, al intentar entrar en tudominio.com/wp-admin o en tudominio.com/admin aparece el fallo y no se puede acceder.

Algunas páginas presentan soluciones en inglés, pero ninguna con la claridad que mis escasos (por ahora) conocimientos de WordPress necesitaba. Así que tras investigar y buscar la solución más adecuada (en el foro oficial How to: change from wp-login.php to login), estos son los pasos a seguir:

  • Redireccionar con .htaccess

Entra vía ftp en tu servicio de hospedaje y edita el archivo .htaccess. Debería parecer así:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Añade justo debajo de RewriteBase / la siguiente línea:

RewriteRule ^login$ wp-login.php

Ahora nos quedará de la siguiente manera:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^login$ wp-login.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Guarda el archivo y súbelo al sitio donde estaba, así puedes acceder al panel de control escribiendo en el navegador  tudominio.com/login y tudominio.com/wp-login.php.

  • Cambia los enlaces /wp-logins.php a /login

Para ello tienes que buscar el archivo functions.php que en mi caso se encuentra en la ruta:
wp-content/themes/ <nombre_del_tema> / functions.php

y añadir el siguiente filtro:

add_filter('site_url', 'wplogin_filter', 10, 3);
function wplogin_filter( $url, $path, $orig_scheme )
{
$old = array( "/(wp-login.php)/");
$new = array( "login");
return preg_replace( $old, $new, $url, 1);
}

Con esto cada vez que trates de acceder a wp-login se redirecciona automáticamente a /login y te permitirá acceder a la administración de tu blog.

Así he conseguido solucionarlo, espero que te sea de utilidad.

 

Para saber más:

WordPress attack highlights 30 million targets http://www.zdnet.com/wordpress-attack-highlights-30-million-targets-7000014256/

Foto: http://www.flickr.com/photos/arrayexception/4362924744/