Una situación bastante habitual
Seguro que te ha pasado mas de una vez, tienes un problema en tu Web y un técnico tiene que acceder al back office de tu Web para arreglar algo o para poner una clave de licencia.
Pero Claro, para realizar ciertas operaciones como modificar plugins, ese técnico necesita permisos de Administrador, y eso significa que tiene poder absoluto sobre tu Web, incluso siendo malpensado podría eliminarte a ti mismo.
Vamos a ver como dar acceso de administrador sin peligro a un usuario o cambiarle el Rol de forma temporal para que realice trabajos de soporte.
¿Qué opciones tenemos para gestionar el acceso a nuestra instalación de WordPress?
Como WordPress es un CMS que se basa en un sistema de permisos por Roles, técnicamente es sencillo (hay muchos plugins que lo permiten) gestionar a que áreas o funciones tiene acceso cada uno de esos Roles.
Lo que sucede en ocasiones, es que los plugins que permiten gestionar permisos a Roles existentes o crear nuevos, no siempre funcionan bien, o sus versiones gratuitas no son demasiado completas.
Instalar WPFront User Role Editor
Como ya expliqué en el post Cambiar el Rol por defecto en Woocommerce, con el plugin WPFront User Role Editor Por Syam Mohan podemos crear nuevos Roles partiendo de los ajustes de Roles ya creados, y modificar sus permisos.
Por ejemplo, puedes crear un nuevo Rol idéntico al de Administrador y desactivar la casilla “remove users” para que no pueda eliminarnos.
Lo malo es que si nuestro encargado de Soporte es un poco inteligente, teniendo en cuenta que SI tiene acceso a ese plugin (bueno, a todos), y decide cambiar los ajustes, podrá volver a activar la casilla “remove users” y crear un usuario Administrador o cambiar su propio Rol, por lo que todo el trabajo no habría servido de nada.
Lo que estamos buscando es dar acceso de administrador sin peligro, así que buscaremos otra solución.
¿Necesitas una Web?
Dime lo que necesitas y estaré encantado de ayudarte.
¿Quieres vender tus productos? ¿Necesitas una Web Corporativa? ¿Quieres vender tus Cursos o Servicios?
Instalar Support me
Support me es un plugin tan simple que no requiere ningún tipo de configuración, nos permite crear un nuevo usuario con el rol “Cuenta de soporte” al que podremos asignar un tiempo máximo de acceso, pasado ese tiempo, el usuario se borrará de forma automática.
Además, ese Rol de Soporte, NO PUEDE eliminar cuentas de administrador, por lo que nuestro acceso queda blindado.
Tan simple como hacer clic en el botón “Añadir cuenta de soporte” desde la pestaña Usuarios.
Eso nos da cierta tranquilidad, porque si le indicamos que la cuenta expira en 10 minutos (por ejemplo), probablemente no tenga tiempo de buscar la forma de modificar sus permisos.
También permite modificar Roles existentes asignándoles ese nuevo Rol de soporte.
Una vez que hemos añadido la cuenta de soporte, nos genera un enlace y una contraseña para que se pueda acceder en modo soporte durante el tiempo que hemos establecido.
Estos datos se los enviaremos a la persona de soporte (por Whatsapp o como nos de la gana).
Pues si, es una forma realmente sencilla de dar acceso de administrador sin peligro de forma rápida y temporal.
Pero…
Siempre hay un pero, nos encontramos con un problema similar al anterior, nuestro usuario de soporte puede desactivar el plugin y tener un Rol de Administrador.
Por suerte eso lo podemos cambiar bloqueando el acceso al plugin.
¿Cómo bloquear el acceso a un Plugin?
Esto te sirve tanto si decides usar el plugin WPFront User Role Editor como si usas Support me.
Sería ingenuo pensar que es seguro bloquear el acceso a un plugin con otro plugin, porque con desactivarlo se acabaría el bloqueo.
Así que os propongo hacerlo de otra forma, un poco mas complicada pero mas segura:
Insertar un sencillo código en el archivo functions.php de tu tema para que el plugin no se muestre en el back office.
Ojo, tampoco lo verás tu, así que recuerda que no verás los avisos de actualizaciones.
Lo ideal es que si tienes un tema hijo, lo pegues en el archivo functions.php del mismo, para que las actualizaciones del tema no le afecten.
Sino, te tocará hacerlo en el functions.php del propio tema, aunque las modificaciones que hagas se borrarán con nuevas actualizaciones.
Nota importante: Descarga una copia de este archivo en tu ordenador, por si sucede un error y tienes que restaurarlo.
Recuerda que debes pegarlo al final del código, nunca acabes el código con la etiqueta de cierre PHP ?> o tu web no funcionará.
Este archivo lo encontrarás en la carpeta de tu tema, dentro de la carpeta Themes.
Otra forma de hacerlo es ir a: Apariencia / Editor y selecciona el archivo functions.php aunque no te lo aconsejo, porque no podrás descargar una copia del archivo, y si algo sale mal, puedes romper tu Web.
Ocultar un plugin (usa este código)
Para que funcione, debes poner en las líneas 3 y 4, el nombre del plugin y del archivo .php tal como he hecho yo, el nombre del plugin lo sabrás cuando descargues el .zip del plugin y dentro encontrarás el nombre del fichero .php
Aunque si vas a ocultar el plugin Support me, copia directamente el código que pongo a continuación:
function hide_plugins($plugins) {
if (is_plugin_active( 'support-me/support-me.php' ) ) {
unset( $plugins['support-me/support-me.php'] );
}
return $plugins;
}
add_filter( 'all_plugins', 'hide_plugins' );
Una alternativa sencilla para ocultar un plugin sin tocar el functions.php
Si no te gusta trastear en las tripas de tu Web, o no sabes, siempre puedes usar el socorrido plugin Code Snippets para insertar código sin peligro alguno.
Si, lo habrás notado, me encanta ese plugin por lo cómodo que es trabajar con él.
Aunque nuestro supuesto trabajador de soporte, lógicamente puede entrar a mirar los fragmentos de código que tenemos guardados, lo cierto es que no es muy probable que lo haga, así que no, no es la opción mas segura, pero al menos despistamos un poco al que quiera buscar la forma de tocar los roles de administrador.
Eso si, ten la precaución de poner un nombre al snippet que despiste un poco.
Yo he puesto: “Cerrar sesión de WP sin preguntar”, en serio… quien se va a poner a mirar ese código que he usado para cambiar esta función, creo que puede pasar bastante desapercibido.
Ahora si vas al back office, no verás el plugin Support me o WPFront User Role Editor porque lo hemos ocultado.
¿Que te ha parecido el contenido de esta publicación?
Promedio de puntuación 5 / 5. Recuento de votos: 1
Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.