Solo un altro tizio che scrive codice invece di un romanzo
Tempo di lettura: 3 minuti

Visualizzare le password dei moduli salvati: come creare un bookmarklet

Ecco come creare un semplice “plugin” per il browser per riuscire a leggere le password salvate nei moduli autocompilati.

Un bookmarklet è un link HTML che al click richiama una funzione Javascript e che quindi esegue delle operazioni sul DOM della pagina.

La mia esigenza era quella di trasformare un campo <input type="password"> in un <input type="text"> così da poter leggere la password, che avevo precedentemente salvato quando l’ho compilato, e che il browser ricorda e autocompila per me. Così la posso copiare e incollare altrove.

Per fare questo mi sono programmato un bookmarklet che modificasse la proprietà type dell’input.

E per creare un bookmarklet basta programmare una pagina HTML e un po’ di Javascript. La pagina HTML servirà a creare un semplice link che richieamerà il file esterno Javascript. Sarà possibile quindi trascinare il link nella barra dei preferiti per poi cliccarlo quando serve.

<a href=”javascript: (function () { var jsCode = document.createElement(‘script’); jsCode.setAttribute(‘src’, ‘showpassword.js’); document.body.appendChild(jsCode); }());”>
Show hidden password
</a>

view rawindex.html hosted with ❤ by GitHub

console.log(‘Bookmarklet made by andrearufo.it’);
var inputs = document.querySelectorAll(‘input[type=password]’);
if (inputs.length > 0) {
console.log(‘Ok…’)
for (i=0; i<=inputs.length; i++){
inputs[i].setAttribute(‘type’, ‘text’);
}
}else{
console.log(‘No password fields…’)
}
console.log(‘–> Done’)

view rawshowpassword.js hosted with ❤ by GitHub

Come detto, il link richiama un Javascript esterno che si trova su un server remoto: è quindi necessario indicare l’indirizzo completo.

Sarebbe anche possibile scrivere tutto il codice in linea e quindi non usare un file js. Ma allora perche usarlo?

Perchè, così facendo sarà possibile modificare il solo file esterno js e aggiornare il bookmarklet per tutti quelli che lo usano e su tutte le postazioni.

Se anche tu hai creato un nuovo bookmarklet simile mandami un tweet: magari mi torna comodo!

Vuoi realizzare un nuovo progetto sul web?

Contattami!