Por que as senhas geradas começam / terminam com espaços?

4

Quando novas senhas são geradas para novos usuários, alguns usuários relatam que as senhas incluem espaços no início e no final das senhas. Alguém já se deparou com isso antes ou tem alguma ideia de por que isso estaria acontecendo? Quais são os possíveis problemas com isso e como eles podem ser evitados?

    
por mrpatg 13.09.2012 / 19:05

1 resposta

5

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:

  1. O cliente de email aplicou alguma formatação quebrada à mensagem.
  2. Um plug-in filtra a senha e adiciona o espaço.
  3. 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.

    
por fuxia 13.09.2012 / 19:24