Se wp_generate_password()
foi chamado com o terceiro parâmetro $extra_special_chars = true
, um espaço pode fazer parte da senha:
function wp_generate_password( $length = 12, $special_chars = true, $extra_special_chars = false ) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
if ( $special_chars )
$chars .= '!@#$%^&*()';
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);
}
Existem três outras possibilidades de como os espaços podem encontrar um caminho para as senhas:
- O cliente de email aplicou alguma formatação quebrada à mensagem.
- Um plug-in filtra a senha e adiciona o espaço.
- Um plugin definiu a função antes que o WP a fizesse (é uma função conectável) e espaços permitidos.
Pesquise todos os plugins instalados para senha . Pergunte aos seus usuários qual cliente de e-mail eles estão usando. Para evitar espaços antes ou depois de as senhas geradas pelo WP adicionarem um filtro:
add_filter( 'random_password', 'trim' );
Observe que o WordPress não envia senhas com espaços para usuários por padrão. Provavelmente há algum outro código envolvido.