SecurePasswordTools ALPHA 0.0.2

SPT è il tool :#/promezio per la validazione e la generazione sicura di passwords. Con la versione 0.1.0 passiamo finalmente alla beta, non è ancora completa di tutte le funzionalità necessarie in produzione ma è un buon passo avanti. In questa versione non ci sono dipendenze da librerie di terze parti come avveniva in precedenza, la libreria non è più correlata con AngularJS e non necessita di JQuery. Per utilizzare tutte le funzionalità di SPT basta aggiungere spt.min.js al tuo progetto, il file pesa solo 2.31 KB.

promezio SecurePasswordTools

VALIDAZIONE
Per validare una password è sufficiente aggiungere il seguente tag invece del classico input. Il parametro limit è opzionale e permette di gestire il livello minimo consentito di robustezza della password (in un range da 1 a 100).

E’ posibile inserire un box contenente una descrizione dettagliata delle debolezze relative alla password inserita. Il tag da aggiungere è il seguente

L’elaborazione è gestita interamente lato client per garantire il massimo della sicurezza e della privacy.

GENERAZIONE

Per generare una password in JavaScript basta questo snippet

SecurePasswordTools è open-source. Il codice è disponibile su GitHub per qualsiasi uso tu abbia in mente, naturalmente una citazione è sempre gradita (seppure non sia obbligatoria). Qui trovi una demo funzionante per capire di cosa si tratti.

 

Javascript proxy example: validate password

LIVE EXAMPLE

Back to Mac

Ventiquattro mesi senza Mac. Sono passati due anni da quando ho venduto il caro MacBook Air da 13″ e il Mac Mini per passare alla concorrenza: notebook + ultrabook in dual boot Windows/Debian, macchine di fascia alta a marchio HP e Lenovo. Purtroppo questi due portatili sono stati solo i primi di una lunga serie, alla ricerca di performance adeguate e affidabilità nel corso dei mesi mi sono ritrovato a vendere e comprare nuovi dispositivi continuamente.

La lista comprende  altri Lenovo (serie ThinkPad e Yoga), un Asus, un Surface PRO e diversi altri HP (serie EliteBook ed Envy). In nessuno sono riuscito a trovare quello che cercavo, ho perso molto tempo dietro a servizi di assistenza scadenti (una delle macchine è rimasta ferma 2 mesi per un guasto) e facendo due calcoli mi sono ritrovato a spendere almeno il doppio senza nessuna soddisfazione.

Parlando della UX devo dire che Microsoft ha fatto davvero bene, con Windows 10 mi sono trovato subito a mio agio e il sistema nel complesso è ben strutturato (gestione aggiornamenti a parte). Quello che non va assolutamente bene è la gestione delle risorse Hardware, con componenti che scaldano all’inverosimile anche su task “normali” mandando in protezione il sistema, lag immotivati anche per operazioni molto comuni, blocchi completi durante operazioni che richiedono un uso intensivo e prolungato della CPU.  Oltre a questo il ricevitore WiFi degli HP  si è dimostrato davvero scadente, il sistema audio dello Yoga era terribile sia per qualità sia per volume, la resa cromatica e la luminosità di molti schermi non era assolutamente adeguata . . . un disastro su tutti i fronti insomma. E non parliamo della gestione di interfacce MIDI multiple o della latenza audio in fase di registrazione, insomma passa la voglia di fare musica anche a chi come me non lo fa a livello professionale.

OK e quindi?
Nulla, ritorno sui miei passi, ritorno ad un Mac. Oggi ho ordinato i due giocattoli nuovi che arriveranno a breve. L’accoppiata vincente per le mie esigenze è notebook + ultrabook quindi ho optato per un MacBook Pro customizzato da 15″ e un MacBook 12″ (per la cronaca l’ho scelto gold).

 

Ero indeciso su cosa fare, in verità avevo messo gli occhi anche sul ThinkPad X1 Yoga e sull’ XPS da 13 di Dell ma visti i costi non sono riuscito a dare ancora una volta fiducia a questi brand. Devo aggiungere che anche mia moglie tifava per la mela morsicata perchè il design dei Mac ha molto fascino e anche l’occhio vuole la sua parte.

Come andrà a finire? Spero bene anche perché non ho proprio voglia di rivenderli il prossimo mese 🙂

 

 

P.S. Nota della moglie che ha letto l’articolo: lei tifava per l’acquisto di un Mac anche due anni fa.

Javascript AMD with requirejs

 

Bootstrap beautiful responsive tables

 

LIVE EXAMPLE

Come sono scritti i Ransomware

Incontrare un ransomware può essere un esperienza molto interessante per uno sviluppatore, specialmente se è interessato alle app multipiattaforma scritte con i linguaggi del web (HTML5 + CSS + JavaScript). Naturalmente parlo di un incontro volontario e non un infezione, anche perché suppongo che i developer fanno parte di quella categoria di utenti che non scarica ed esegue un allegato di provenienza incerta.

 

 

Procurarsi un campione di Ransom32 (uno dei primi malware di questo tipo) è abbastanza semplice, non è nemmeno necessario scomodare il dark web. Il motore del Ransomware è scritto interamente in Javascript e reso eseguibile tramite NW.js, un framework per generare applicazioni native multipiattaforma (Windows – Linux – OS X) da  una web application.

Scompattando il pacchetto nella versione per Windows si trova l’eseguibile principale (mascherato come chrome.exe), il file di configurazione e le librerie necessarie a NW.js. Il codice è scritto per eseguire questi step:

  • Estrarre tutti i file in una cartella temporanea
  • Stabilire una connessione con un server Tor per negoziare il pagamento in bitcoin
  • Ricercare e criptare tutti i file con determinate estensioni (principalmente immagini e documenti)

 

Vengono criptati solo file non vitali per l’esecuzione del SO,  diverse cartelle (come Windows e ProgramData) non vengono nemmeno scansionate per evitare di compromettere il sistema. La criptazione è di tipo AES con chiave a 128 bit. Al termine verrà mostrato un messaggio con le istruzioni per ottenere la chiave di sblocco e “liberare” i file in ostaggio previo pagamento.

Una dimostrazione della flessibilità e delle capacità di questi linguaggi anche al di fuori dell’ambito web.

[ terrah ] reboot

Pezzo per pezzo e finalmente il progetto inizia a diventare interessante. Parlo della nuova WebApp di [ terrah ] per seguire le campagne dell’associazione e contribuire in uno dei tanti modi possibili alla divulgazione del motto #vivisostenibile. Non posso ancora dire che la piattaforma sia completa ma ora si avvicina alla mia idea iniziale.
terrah website desktop

 

Il sito è bilingue, manca la gestione delle news e degli articoli, o per meglio dire il backend è pronto ma il frontend ancora naviga in acque profonde e inesplorate. E poi ci sono da fare anche i test per verificare la stabilità del tutto.

 

terrah website mobile

 

L’associazione è no-profit, lavoro al progetto solo nei ritagli di tempo e l’idea era quella di rendere le informazioni fruibili nel modo più semplice possibile. Ci sarà qualche articolo e qualche news (a piattaforma ultimata) ma sempre cercando di non perdersi in chiacchiere inutili. Le immagini e gli slogan sono il fulcro delle campagne pensate per girare in rete ma il contatto diretto è sempre la scelta migliore per il resto delle attività in programma.

 

La ToDo list per i prossimi mesi è:

  • Gestione news e articoli
  • App mobile (iOS, Android, Windows Mobile)
  • Lancio nuove capagne

[JavaScript] Eval (often) is the evil

 

LIVE EXAMPLE

Progress bar with bootstrap

progress bar with boostrap

 

LIVE SAMPLE

#1 Code Golfing – javascript