Si se llamó a wp_generate_password()
con el tercer parámetro $extra_special_chars = true
, un espacio podría ser parte de la contraseña:
function wp_generate_password( $length = 12, $special_chars = true, $extra_special_chars = false ) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
if ( $special_chars )
$chars .= '[email protected]#$%^&*()';
if ( $extra_special_chars )
$chars .= '-_ []{}<>~'+=,.;:/?|';
$password = '';
for ( $i = 0; $i < $length; $i++ ) {
$password .= substr($chars, wp_rand(0, strlen($chars) - 1), 1);
}
// random_password filter was previously in random_password function which was deprecated
return apply_filters('random_password', $password);
}
Hay otras tres posibilidades en cómo los espacios pueden encontrar un camino para las contraseñas:
- El cliente de correo electrónico aplicó algún formato roto al mensaje.
- Un complemento filtra la contraseña y agrega el espacio.
- Un complemento definió la función antes de que WP lo hiciera (es una función conectable) y espacios permitidos.
Buscar en todos los complementos instalados para contraseña . Pregunte a sus usuarios qué cliente de correo electrónico están utilizando. Para evitar espacios antes o después de las contraseñas generadas por WP, agregue un filtro:
add_filter( 'random_password', 'trim' );
Tenga en cuenta que WordPress no envía contraseñas con espacios a los usuarios de forma predeterminada. Probablemente hay algún otro código involucrado.