Llevamos unas semanas de locura con una web en la cual todos los días aparecían altas de usuarios con el rol de administrador.
El tema es que con cada alta nos llegaba también la noticiación por email de ese alta:
Asunto: [WEB] Registro de nuevo usuario
Contenido: Nombre de usuario: geebaby1991 · Correo electrónico: xxxx@aol.com
Después de haber escaneado la web para buscar código malicioso. Haber eliminado WordPress y todos los plugins y haber vuelto a subir copias limpias del repositorio, seguían apareciendo estos usuarios. Incluso después de revisar todo el contenido de las páginas y posts para buscar posibles códigos ocultos permitan la creación de nuevos usuarios, no dimos con la solución.
¿Cómo evitar la creación de nuevos usuarios en WordPress?
Después de 2 semanas hace un rato hemos dado con la solución:
En AJUSTES / GENERALES estaba activado «CUALQUIERA PUEDE REGISTRARSE» y además el perfil predeterminado para nuevos usuarios era «ADMINISTRADOR».
Por qué esos ajustes estaban de esa forma no hemos conseguido averiguarlo. Lo que está claro es que después de cambiarlo a que no puede registrarse cualquiera se ha parado la creación de nuevos usuarios:
Y lo más importantes es que NUNCA un nuevo miembro por defecto debería tener el perfil de ADMINSITRADOR. No se me ocurre ninguna constelación donde esto sea recomendable o tenga alguna ventaja. Esto directamente debería estar prohibido por parte de WordPress.
¿Cómo puedo evitar los intentos de registro de usuarios?
Además hay otra forma de evitar los registros de los usuarios completamente y es usando el plugin «Disable WP Registration Page«. El plugin no se ha actualizado en los últimos dos años y solo se ha probado hasta la versión de WordPress 4.6.13, pero funciona.
La verdad es que el contenido del plugin es sencillo (y por eso seguirá funcionando):
add_filter( 'register', 'dwprp_remove_registration_link' ); function dwprp_remove_registration_link( $registration_url ) { return __( 'Manual registration is disabled', 'dwprp' ); } add_action( 'init', 'dwprp_redirect_registration_page' ); function dwprp_redirect_registration_page() { if ( isset( $_GET['action'] ) && $_GET['action'] == 'register' ) { ob_start(); wp_redirect( wp_login_url() ); ob_clean(); } }
Quita el enlace para registrarse y luego redirige cualquier llamada al registro a la página de login.
P.D. Hemos descubierto otro plugin que hace lo mismo «Disable Registration Page» y que se ha actualizado hace 12 meses y está probado hasta la versión 4.9.9.
excelente información Gracias!