Cómo restringir el inicio de sesión del usuario a un dispositivo en WordPress

Publicado: 2024-11-28
how to restrict user login to one device in wordpress

¿Quiere restringir el inicio de sesión del usuario a un dispositivo en WordPress?

Un tema en el que los propietarios de SaaS, membresías, cursos en línea y sitios de suscripción pueden estar de acuerdo es que pierden muchos ingresos al compartir cuentas. Muchos usuarios dan sus contraseñas y cuentas a otros, lo que reduce el potencial de ingresos.

Por ejemplo, Netflix tomó medidas enérgicas a nivel mundial para reducir el uso compartido de cuentas , lo que, según afirmó, afectó a más de 100 millones de hogares. Esto provocó miles de millones en pérdidas de ingresos y el uso ilegal del servicio de suscripción.

En IsItWP, hemos visto problemas similares en muchas de nuestras empresas hermanas que crean complementos y software de WordPress. Hemos visto lo difícil que es controlar el intercambio de contraseñas y cuentas.

Restringir el uso compartido de cuentas en WordPress ha demostrado ser una solución eficaz para detener este problema. Al limitar a los usuarios a una sesión activa en un dispositivo , hemos podido evitar el acceso no autorizado, desalentar el intercambio de credenciales y mantener un mejor control sobre el comportamiento de los usuarios.

En este artículo, lo guiaremos paso a paso a través de los métodos que utilizamos para garantizar un solo usuario, un dispositivo. Te mostraremos diferentes técnicas para que elijas la mejor para tu negocio.

Importancia de restringir el inicio de sesión del usuario a un dispositivo

Como se mencionó, el inicio de sesión en un solo dispositivo puede ayudar a reducir el uso compartido de cuentas. Pero puede hacer mucho más que esto. Para empezar, puede ayudar a mejorar la seguridad del sitio al brindarle más control sobre quién y dónde se puede acceder a su sitio.

Incluso si el mismo usuario tiene varios dispositivos, automáticamente cierra la sesión del dispositivo anterior cuando inicia sesión en uno nuevo. Como resultado, este sistema le ayuda a imponer un límite de inicio de sesión de un solo dispositivo en todo momento.

A continuación se presentan otras razones para restringir el inicio de sesión de un usuario a un dispositivo.

  • Protección de contenido: garantiza el acceso exclusivo a contenido premium, evitando la pérdida de ingresos causada por inicios de sesión compartidos.
  • Métricas de usuario precisas: proporciona información confiable sobre la participación y el tráfico real de los usuarios, lo cual es crucial para el análisis y la toma de decisiones.
  • Experiencia de usuario mejorada: reduce los conflictos de inicio de sesión cuando hay varias sesiones activas, lo que garantiza un acceso fluido para los usuarios legítimos.
  • Cumplimiento legal: ayuda a los usuarios a cumplir con los acuerdos de licencia o los términos de suscripción que requieren acceso de un solo usuario, evitando posibles problemas legales.
  • Gestión de carga: reduce la tensión del servidor al limitar las conexiones que se ejecutan al mismo tiempo desde una cuenta, lo que mejora el rendimiento y la estabilidad del sitio.
  • Prevención de fraude: bloquea los intentos maliciosos de explotar credenciales compartidas, lo que reduce el riesgo de fraude.
    Mejor control para los administradores: le brinda más control sobre el comportamiento del usuario y la administración de sesiones, lo que permite una mejor aplicación de las políticas del sitio.

Como puede ver, limitar las sesiones de inicio de sesión de los usuarios a un dispositivo tiene muchos beneficios. Pero cada negocio tiene modelos diferentes y lo que funciona para uno puede no funcionar para otro. Por lo tanto, para asegurarse de encontrar un método que funcione para usted, consulte las dos formas de aplicar una política de una sesión por usuario .

  • Utilice el complemento Loggedin – Limitar inicios de sesión activos (gratis y sencillo)
    • Utilice WPCode (método gratuito pero avanzado)

      Dicho esto, permítanos guiarle a través de todos estos métodos para garantizar una única sesión activa en su sitio web de WordPress.

      Utilice el complemento Loggedin – Limitar inicios de sesión activos (gratis y sencillo)

      Loggedin: el complemento Limit Active Logins es la solución para usted si está buscando una forma gratuita y sencilla de automatizar la limitación del inicio de sesión de un usuario en un dispositivo.

      Este complemento de restricción de inicio de sesión le permite configurar la cantidad máxima de inicios de sesión activos para cada usuario. También bloquea cualquier nuevo inicio de sesión cuando se alcanza el límite de inicio de sesión, lo que obliga a personas adicionales a cerrar sesión.

      Paso 1: Instalar Loggedin – Limitar los inicios de sesión activos

      Como se mencionó, Loggedin – Limitar inicios de sesión activos es un complemento gratuito. Como resultado, puede acceder a él yendo a Todos los complementos »Agregar nuevo complemento en su panel de WordPress. Después de esto, use la barra de búsqueda para encontrar la herramienta en su repositorio de complementos de WordPress.

      loggedin installation

      Luego, instálalo y actívalo como lo harías con cualquier otro complemento. Si tiene algún problema, consulte este artículo sobre cómo instalar un complemento.

      Paso 2: Configurar Loggedin – Limitar los inicios de sesión activos

      A continuación, navegue hasta Configuración »General , luego desplácese hasta "Configuración de inicio de sesión".

      Primero, notará que, de forma predeterminada, este complemento de inicio de sesión de usuario basado en dispositivo establece el número máximo de inicios de sesión activos en 3. Puede personalizar este número para que se ajuste a su sitio. Como resultado, cualquier otro intento de inicio de sesión que supere el número establecido será rechazado automáticamente, incluso si los otros navegadores están cerrados.

      Pero, para personalizar aún más su experiencia de usuario, vaya a Lógica de inicio de sesión , donde obtendrá 2 opciones de casilla de verificación.

      • Si selecciona "Permitir", el complemento detendrá las sesiones antiguas para crear espacio para el nuevo inicio de sesión, respetando el límite establecido.
      • Si selecciona "Bloquear", el complemento rechazará cualquier nuevo intento de inicio de sesión hasta que expiren las sesiones actuales.

      Además de esto, puede controlar manualmente las personas que han iniciado sesión en su sitio de WordPress con la función "Forzar cierre de sesión". Al ingresar la ID de usuario , puede obligar al usuario a cerrar sesión en todos los dispositivos. Esta es una excelente manera de mejorar la seguridad del sitio y administrar el acceso de los usuarios.

      loggedin settings

      Ahora que WordPress se basa en el almacenamiento en caché para regular los intentos de inicio de sesión y realizar un seguimiento de las sesiones, este complemento le permite configurar el "Nivel de caché". Iniciar sesión: limitar los inicios de sesión activos, por lo tanto, le ofrece 4 opciones de nivel de caché entre las que puede elegir.

      • Normal: este modo almacena en caché los datos de la sesión de forma estándar, equilibrando el rendimiento y la confiabilidad. Funciona bien para la mayoría de los sitios sin mecanismos de almacenamiento en caché avanzados.
      • Solo activos: limita el almacenamiento en caché a activos estáticos como JavaScript o CSS, minimizando la interferencia en la gestión de sesiones de inicio de sesión dinámicas. Este modo es útil cuando se administran entornos dinámicos sensibles al contenido.
      • Avanzado: se utiliza un sistema de almacenamiento en caché optimizado para manejar las sesiones de manera más eficiente. Es ideal para sitios con mucho tráfico, ya que garantiza que el complemento interactúe con capas de almacenamiento en caché más complejas, como el almacenamiento en caché de objetos.
      • Desactivado: deshabilita por completo el almacenamiento en caché del complemento, lo que lo obliga a verificar la base de datos o el almacenamiento de la sesión directamente para cada solicitud. Este modo garantiza un seguimiento preciso de la sesión, pero puede ralentizar el rendimiento.
      loggedin cache level

      Una vez hecho esto, presione "Guardar" en la parte inferior de la página y ahora podrá restringir fácilmente las sesiones de inicio de sesión de sus usuarios a un dispositivo.

      loggedin blocked login example

      Este método para limitar que los usuarios compartan cuentas es rápido y sencillo. Pero tiene opciones de personalización limitadas que pueden reducir la eficiencia para equipos y bases de usuarios más grandes. Si desea opciones de personalización avanzadas, le recomendamos el método número 2.

      Utilice WPCode (método gratuito pero avanzado)

      Como ha visto anteriormente, Loggedin – Limitar inicios de sesión activos es un complemento simple que solo le permite restringir el inicio de sesión simultáneo de todos los usuarios. Pero, ¿qué sucede si desea hacer algunas excepciones a este protocolo de inicio de sesión?

      ¿Qué sucede si desea permitirse a usted, a los miembros del equipo o a ciertos usuarios omitir esta restricción de inicio de sesión para ayudar a administrar mejor su sitio?

      Esto puede resultar útil si necesita que varios miembros del equipo accedan a una sola cuenta. Por ejemplo, es posible que desee probar la funcionalidad o solucionar errores, especialmente en entornos de prueba o desarrollo.

      Al mismo tiempo, permitir que varios usuarios compartan una cuenta puede ayudarle a administrar mejor sus recursos.

      Por este motivo, recomendamos WPCode.

      wpcode homepage

      WPCode es el mejor complemento de fragmentos de código de WordPress. Viene con una interfaz de arrastrar y soltar y una gran biblioteca de fragmentos que le permite insertar código en su sitio sin experiencia de desarrollador.

      Tiene una función de lógica condicional inteligente, que permite que su sitio cargue el fragmento de código solo cuando cumple con ciertas condiciones, como miembros que han iniciado sesión, URL específicas y más.

      Lo más importante es que verifica cualquier fragmento de código manual que agregue para asegurarse de que funcione perfectamente y no dañe su sitio. Dado que agregaremos manualmente el código de derivación de inicio de sesión, esta función es muy útil.

      Teniendo esto en cuenta, necesitará cierta experiencia básica en código para utilizar este método.

      Paso 1: Instale WPCóde

      Ahora, aunque WPCode ofrece una versión premium, la versión gratuita aún puede ayudar a agregar este código. Para obtener WPCode Lite, vaya a su repositorio de complementos de WordPress y búsquelo.

      wpcode free install

      Una vez instalado y activado, dirígete a Fragmentos de código »+ Agregar fragmento .

      Esto lo redireccionará a la biblioteca de fragmentos con más de 130 códigos agregados previamente. Aquí, seleccione “Agregar su código personalizado (nuevo fragmento) para abrir la ventana emergente de tipo de código.

      wpcode code snippet templates

      Paso 2: agregar manualmente un fragmento de PHP

      Luego, seleccione PHP Snippet en esta ventana para abrir la interfaz de arrastrar y soltar.

      wpcode select code type

      Primero, ingrese el título del fragmento para identificar y reutilizar fácilmente el código en otras áreas de su sitio. Luego, en el área del fragmento de WPCode, pegue el siguiente código:

      function loggedin_bypass_users( $bypass, $user_id ) {
       
          // Enter the user IDs to bypass.
          $allowed_users = array( 1, 2, 3, 4, 5 );
       
          return in_array( $user_id, $allowed_users );
      }
       
      add_filter( 'loggedin_bypass', 'loggedin_bypass_users', 10, 2 );
      

      A continuación, vaya a la línea de código 4, que comienza con "$allowed_users = array" y reemplace los números con las ID de usuario reales que desea omitir el protocolo de inicio de sesión. Recuerde separar cada ID de usuario con una coma como en los ejemplos numéricos.

      wpcode bypass login restrictions certain users

      Sin embargo, el uso de ID de usuario específicos puede generar un código largo, especialmente si tiene un equipo grande. Como resultado, puedes dañar fácilmente tu sitio.

      Para evitar esto, puedes utilizar roles en su lugar.

      Para hacer esto, copie y pegue el código a continuación en el área del fragmento de WPCode.

      function loggedin_bypass_roles( $prevent, $user_id ) {
       
          // Array of roles to bypass.
          $allowed_roles = array( 'administrator', 'editor' );
       
          $user = get_user_by( 'id', $user_id );
       
          $roles = ! empty( $user->roles ) ? $user->roles : array();
       
          return ! empty( array_intersect( $roles, $whitelist ) );
      }
       
      add_filter( 'loggedin_bypass', 'loggedin_bypass_roles', 10, 2 );
      

      Luego, una vez más, vaya a la línea 4, que comienza con "$allowed_roles = array" donde obtiene los roles de marcador de posición 'administrador' y 'editor'. Puede reemplazar el texto de esta línea con roles de sitio relevantes que se apliquen a su sitio. Recuerde separar los roles con una coma y colocar comillas simples ("Rol de ejemplo") alrededor de cada rol.

      wpcode bypass login restrictions certain roles

      Paso 3: publicar código de fragmento

      Una vez hecho esto, vaya debajo del área del fragmento de WPCode para encontrar la pestaña Inserción .

      Aquí, navegue hasta "Método de inserción", donde puede insertar el código con Inserción automática o Código corto . Luego, use el menú desplegable "Ubicación" para indicarle a WPCode dónde debe aparecer el fragmento.

      wpcode insert method

      Finalmente, vaya a "Tipo de dispositivo" y seleccione si desea que el fragmento aparezca en Cualquier dispositivo, Solo escritorio o Solo móvil.

      wpcode device type

      Cuando esté satisfecho con su código para evitar las restricciones de inicio de sesión, presione "Guardar fragmento" y use el botón de alternancia para activar el código en la parte superior de la página.

      wpcode save activate code snippet

      ¡Eso es todo! Ahora puede restringir el inicio de sesión a un dispositivo y permitir que ciertos usuarios omitan este protocolo. Si tiene más preguntas, consulte las preguntas más frecuentes a continuación.

      Preguntas frecuentes: Cómo restringir el uso compartido de cuentas en WordPress

      ¿La mejor herramienta gratuita para establecer un límite de inicio de sesión en un dispositivo de forma gratuita?

      Las mejores herramientas gratuitas para restringir múltiples inicios de sesión en WordPress son Loggedin – Limitar inicios de sesión activos y WPCode Lite. Iniciar sesión: Limitar inicios de sesión activos le permite establecer una cantidad máxima de inicios de sesión activos por usuario, garantizando que solo puedan acceder a su sitio desde un dispositivo a la vez. Por otro lado, la versión gratuita de WPCode le permite ir un paso más allá al permitirle personalizar quién puede acceder a su sitio por función y dirección IP.

      ¿Puede la lista blanca de IP detener los inicios de sesión simultáneos?

      La lista blanca de IP puede ayudar a controlar el acceso, pero no es la solución para detener los inicios de sesión simultáneos. Si bien garantiza que solo los usuarios de direcciones IP aprobadas puedan iniciar sesión, no limita completamente las sesiones múltiples en diferentes dispositivos. Este método funciona mejor para controlar el acceso en entornos de IP estática, como oficinas, que para bases de usuarios dinámicas. En su lugar, puede utilizar complementos como Loggedin – Limitar inicios de sesión activos y WPCode Lite.

      ¿Puedo permitir que ciertos usuarios omitan mi política de una sesión por dispositivo?

      Sí, puede permitir que usuarios específicos omitan la política de una sesión por dispositivo utilizando herramientas como WPCode. Este complemento le permite agregar fragmentos de código PHP personalizados a su sitio. Estos códigos personalizados pueden excluir ID de usuario o roles específicos de las restricciones de inicio de sesión. Por ejemplo, puede crear una lista de ID de usuario o roles, como administradores, para eximirlos de la restricción, permitiendo inicios de sesión múltiples para esas cuentas.

      ¿Qué complementos de seguridad pueden ayudar a controlar el inicio de sesión del usuario?

      Wordfence Security e iThemes Security son dos excelentes complementos de seguridad para controlar los inicios de sesión de los usuarios en WordPress. Wordfence ofrece funciones como autenticación de dos factores, límites de intentos de inicio de sesión y monitoreo del tráfico en tiempo real para bloquear el acceso no autorizado de manera efectiva. Por otro lado, iThemes Security mejora la seguridad de inicio de sesión al permitir una fuerte aplicación de contraseñas, protección por fuerza bruta y la capacidad de bloquear direcciones IP sospechosas.

      ¡Felicidades! Ahora puede restringir fácilmente los inicios de sesión en varios dispositivos de forma gratuita. Consulte este artículo sobre Cómo limitar los intentos de inicio de sesión en WordPress para obtener aún más control sobre los inicios de sesión de los usuarios.

      Además de eso, aquí hay otros artículos que quizás le interese leer.

      • Cómo crear correctamente una página de inicio de sesión personalizada en WordPress
      • Cómo detener los ataques de fuerza bruta en sitios web de WordPress
      • Los 9 mejores complementos de seguridad de WordPress comparados

      El primer artículo le muestra cómo crear una página de inicio de sesión personalizada para aumentar la experiencia y la seguridad del usuario. La próxima publicación se centra en cómo detener los ataques de fuerza bruta. Mientras que el último artículo enumera los 9 mejores complementos de seguridad de WordPress.