Todos estamos de acuerdo en que la seguridad en una web (como en todo) es importante. Conozco auténticos problemones de webs que han sido hackeadas, aunque esto es normalmente por culpa de no llevar al día las actualizaciones.
Pero a veces es enervante, sobre todo si afecta a las ventas. Con lo difícil que ya es vender, hacer clientes, membresías, suscriptores… conversiones en una palabra, para que encima venga WooCommerce y se empeñe en repetirle al cliente una y otra vez eso de Por favor, introduce una contraseña más fuerte cuando va a registrarse en tu web.
Tabla de contenidos
Los peligros de una contraseña débil
No quiero venir en tono paternalista y con moralinas a recordar a nadie lo importante que es la seguridad en una web, máxime cuando contiene datos de usuarios. Web de cuya seguridad, por cierto, tú eres el responsable. Todo eso ya lo sabes.
Y tú dirás (a lo mejor): Ya, pero que alguien consiga acceso a una cuenta con rol de customer no va a poner en riesgo la seguridad de la web. Y tienes razón sólo a medias.
Dejando a un lado las vulnerabilidades que permiten una escalada de privilegios, de lo que podemos hablar largo y tendido otro día, resulta que, como gestor de la web, no sólo eres responsable de seguridad de la misma, sino también de otras cosas.
Por ejemplo de los datos personales de ese usuario: email, dirección de envío y, si la hay, de facturación, teléfono… Datos que, repito, tú eres el responsable de salvaguardar.
Pero es que no es sólo eso: WooCommerce también permite guardar la numeración de la tarjeta de crédito con los datos de usuario (Mi cuenta > Métodos de pago) en función de las pasarelas que tengas activadas. Si, por ejemplo, tienes Stripe, el usuario puede guardar, editar y eliminar los datos de sus tarjetas de crédito, para un pago más rápido.
Cierto que ese dato no se muestra ni siquiera al propio usuario (precisamente para que nadie que acceda a la cuenta consiga esos datos) pero sí se puede utilizar como método de pago en tu propia tienda, puesto que esa es la utilidad de guardar ese dato. Y ahí ya entramos en temas de fraude.
Así que sé muy consciente de cómo aplicas la información que viene a continuación. Dicho queda.
Los requisitos de la contraseña de WooCommerce
Así que, dicho lo dicho, por una parte se ve lógico que WooCommerce sea tan «tiquismiquis» con la fortaleza de la contraseña. Y lo es; para muestra valga un botón:
Creo que en la imagen se lee bien, pero aquí van los requisitos que debe cumplir la contraseña para que WooCommerce la considere aceptable:
- Doce caracteres como mínimo
- Mayúsculas y minúculas
- Números, letras y símbolos no alfanuméricos
No sé tú, pero yo la única contraseña que cumpla todas esas condiciones que soy capaz de pensar sin sufrir catatonia es Aa0123456789*, que no es que sea precisamente un dechado de virtudes en cuanto a seguridad.
Si combinas esos requisitos con un checkout en el que no se permiten las compras como invitado (WooCommerce > Ajustes > Finalizar compra > Proceso de finalizar compra > Permitir finalizar compra como invitado) el resultado puede ser nefasto para las conversiones.
Así que vamos a liarnos la manta a la cabeza, a ponernos la seguridad por montera y a arreglar semejante desaguisado, no sin antes recordarte que siempre tienes a tu disposición, como alternativa, la opción WooCommerce >
Ajustes > Cuentas > Creación de cuenta > Genera automáticamente la contraseña del cliente, de forma que el cliente no tenga ni que elegir una contraseña al registrarse.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
Modificar la comprobación de seguridad de la contraseña en WooCommerce
Llegados a este punto tenemos dos alternativas: o bien adoptar la postura radical de eliminar por completo la comprobación de la seguridad de la contraseña, o bien ajustarla a un nivel más bajo. Para ambas posturas tenemos alternativas.
Eliminar los requisitos de contraseña de WooCommerce
Si optas por cortar por lo sano y no quieres establecer ningún requisito de seguridad para la contraseña, puedes hacerlo tanto por código como utilizando un plugin, pero mi primera recomendación es que, si te lo has saltado, vuelvas arriba y leas la primera sección de este artículo.
Bien, si realmente estás convencido y quieres hacerlo, es muy sencillo. Si optas por la vía eficiente no tienes más que utilizar la siguiente función:
add_action ('wp_print_scripts', function () {
if (wp_script_is ('wc-password-strength-meter', 'enqueued'))
wp_dequeue_script ('wc-password-strength-meter');
}, 100);
Que impide que el script encargado de comprobar la seguridad de la contraseña de WooCommerce se cargue. Muerto el perro, se acabó la rabia. Si no sabes dónde tienes que poner ese código, echa un vistazo a este otro artículo:
La alternativa fácil pero menos eficiente es, cómo no, instalar un plugin que lo haga. Aunque ya te aviso que ese plugin lo único que hace es… incorporar en WordPress la función que te he dado más arriba. Puedes utilizar Password Strength for WooCommerce. Activar y listo.
Modificar los requisitos de la contraseña
La vía intermedia está en modificar esos requisitos, relajarlos un poco, pero sin eliminar un mínimo de seguridad. Esto lo puedes hacer con el plugin WooCommerce Password Strength Settings.
Una vez activado tienes una nueva sección con los ajustes en WooCommerce > Ajustes > Cuentas > User Password Strength Settings, con varias opciones que te permitirán afinar muy bien en función de tus necesidades:
Para empezar, te permite seleccionar los requerimientos de fortaleza para la contraseña entre cinco niveles, desde el uno («todo vale», equivalente a lo que veíamos en la sección anterior) hasta el cinco (el que WooCommerce exige por defecto):
- Cualquier contraseña es válida, es decir, la comprobación está desactivada
- La más débil
- Débil
- Media
- Fuerte
Pero eso no es todo, sino que además te permite personalizar el mensaje que quieres mostrar en función del nivel que hayas seleccionado.
Por cierto, que esta última opción falla un poco: aunque elijas el nivel 1, se seguirá mostrando el aviso, en este caso se muestra el del nivel 2, algo que no tiene sentido cuando no hay requisitos mínimos para la contraseña.
Si seleccionas ese nivel puedes ocultar el mensaje mediante CSS, añadiendo los siguientes estilos en Apariencia > Personalizar > CSS Adicional:
.woocommerce-password-strength, .woocommerce-password-hint {
display:none;
}
Aunque en realidad ya hemos visto en la sección anterior que, si lo que quieres es eliminar completamente la comprobación de la contraseña (lo que equivale a elegir el nivel uno) hay métodos más eficientes.
Vídeo: cambiar los requisitos de la contraseña de WooCommerce
Es todo muy sencillo e intuitivo. En este vídeo puedes ver el proceso:
Wordfence y la seguridad de las contraseñas
Haciendo (de nuevo) hincapié en cómo todo este asunto puede afectar a la seguridad, un buen plugin que proteja la web te avisará de estas cosas. Afortunadamente.
Afortunadamente porque así, al menos, tendrás conocimiento cuando un usuario elija una contraseña poco segura y tendrás la posibilidad, entre otras cosas, de editar su perfil, resetear su contraseña, y hacer que le llegue al email. Al fin y al cabo la conversión (la compra y el registro) ya están conseguidos.
Yo siempre utilizo (y aconsejo) Wordfence que, como buen plugin de seguridad, te genera una alerta en casos como éste:
De nuevo (a riesgo de resultar repetitivo) te recuerdo que dispones de la opción WooCommerce >
Ajustes > Cuentas > Creación de cuenta > Genera automáticamente la contraseña del cliente para que el cliente no tenga que seleccionar ninguna contraseña, sino que se genere de forma automática y se le envíe por email lo que, además, tiene la virtud de ahorrar un paso en el checkout.
Y, ojo, activar esa opción no está reñido con todo lo dicho aquí: puedes generar automáticamente en el checkout el nombre de usuario (a partir del email) y la contraseña, y ajustar los requisitos de fortaleza para los registros que se produzcan a través de la página Mi cuenta.
Jorge dice
Excelente Tip, gracias por compartirlo!!!