Le pagine web possono riconoscere che ho salvato la mia password?

5

Se salvi gli accessi in Firefox, nome utente e password vengono compilati automaticamente nelle pagine web corrispondenti non appena li visiti (se hai più di 1 account salvato, devi prima selezionare un nome utente).

È possibile controllare le pagine Web con JavaScript se i campi di accesso non sono vuoti (senza inviare il modulo)?

Suppongo che di solito ciò sia possibile, l'ho visto per la convalida del modulo live. Ma forse questi dati auto-compilati seguono altre regole rispetto ai dati compilati dall'utente?

    
posta unor 20.12.2012 - 18:52
fonte

2 risposte

4

Javascript può leggere le finestre di dialogo della password come qualsiasi altro campo:

document.getElementsByName("passwordentry")[0].value

quindi puoi certamente avere un pezzo di javascript che controlla se il campo della password è stato compilato molto più velocemente di quanto umanamente possibile, a patto che l'utente abbia abilitato javascript.

Potresti voler implementare un proof-of-concept per vedere quanto questo sia efficace nella pratica e se ci sono delle difficoltà impreviste. modifica Un punto molto importante di @Stephen Touset è che ci sono molti diversi tipi di immissione automatica della password. È importante essere consapevoli di loro per rilevarli tutti.

    
risposta data 20.12.2012 - 19:26
fonte
2

Sì, è possibile che una pagina Web recuperi il contenuto di un campo password tramite JavaScript, proprio come la maggior parte dei compilatori automatici utilizza JavaScript per inserire la password in base all'URL e al tipo di input o id del campo password .

La seguente funzione stampa tutte le password nella pagina corrente, se ce n'è una, e potrebbe essere facilmente modificata per verificare se un campo password ha una lunghezza minima specifica.

(function () {
    var passwords, j, i;
    passwords = "";
    for (j = 0; j < document.forms.length; ++j) {
        for (i = 0; i < document.forms[j].length; ++i) {
            if (document.forms[j][i].type.toLowerCase() == "password") passwords += document.forms[j][i].value + "\n";
        }
    }
    if (passwords) alert("Passwords in forms on this page:\n\n" + passwords);
    else alert("There are no passwords in forms on this page.");
})();

Naturalmente potresti farlo funzionare con un piccolo ritardo, nel caso in cui la pagina web venga caricata più velocemente della compilazione automatica. Ma attenzione a non avere un ritardo troppo alto nel caso in cui l'utente sia un dattilografo veloce.

    
risposta data 20.12.2012 - 19:50
fonte

Leggi altre domande sui tag