Archives For GxWare

Durante la stesura dell’articolo dedicato a Iliad (pubblicato ormai circa un mese fa), ho avuto la necessità di controllare da dove passasse il mio traffico dati per poter confermare quanto scritto in giro (ovvero che nel primo periodo di vita di Iliad si passasse tutti dai suoi IP francesi anziché da quelli italiani). Ci sono tanti siti web che offrono la possibilità di controllare questi dati catturandoli direttamente da browser, ma tra pubblicità, controlli di sicurezza e altre menate varie diventa davvero seccante navigarli, è per questo motivo che ho creato “My Information“, una semplice pagina riepilogativa che potesse mostrarti le informazioni che cerchi e nulla più.

Iliad è arrivata in Italia, non senza problemi 17

My Information

No, non è ottimizzato al 100% per i dispositivi mobili (anche se si mostra correttamente ai tuoi occhi) e no, non è perfetto neanche nello stile presentato (perché si potrebbe fare molto di meglio), probabilmente ha anche un nome banale e poco attraente, eppure è esattamente ciò di cui forse necessiti anche tu. Il tuo browser trasmette dei dati a ogni sito web che visiti, per questo motivo ho potuto approfittare di qualche funzione PHP nativa e delle API messe a disposizione dal sito IPStack.com per elaborare quanto catturato, in diretta, senza salvare alcunché sul server (in pratica i tuoi dati li vedi solo tu), così siamo tutti più contenti e la Privacy ringrazia.

My Information è disponibile per tutti all’indirizzo public.gfsolone.com/tools/ip, e puoi raggiungerlo anche tramite l’alias go.gioxx.org/ip. Va ad aggiungersi agli altri tool pubblici che ho messo a disposizione tramite il mio sito web personale (li trovi tutti raccolti sul Wiki).

Un’occhiata dietro le quinte

È tutto molto semplice. Di suo PHP permette già di catturare alcune informazioni provenienti dal tuo browser, per questo motivo è necessario esclusivamente fargliele scrivere in pagina per potertele mostrare, questo vale certamente per il tuo IP ($_SERVER['REMOTE_ADDR']) o lo User-Agent del browser che stai utilizzando nel momento in cui visiti My Information ($_SERVER['HTTP_USER_AGENT']). Il resto, seppur in qualche maniera anch’esso recuperabile (non tutto), ho deciso di darlo in pasto a IPStack; questo mi restituisce una serie di dettagli interessanti che posso ulteriormente lavorare (o mostrare direttamente) per arricchire ancor più quanto messo a tua disposizione, come per esempio una mappa (libera, di OpenStreeMap, ma richiamata tramite Leaflet), l’hostname assegnato al tuo IP (se pubblico), il CAP, latitudine e longitudine rilevate, ecc.

Ti lascio dare un’occhiata al codice (semplicissimo) che racchiude buona parte delle informazioni mostrate poi a video:

Il puntatore su mappa è assolutamente migliorabile, non sempre latitudine e longitudine producono il risultato sperato, potrei certamente impostarlo sul CAP rilevato, ma si tratta di finezze che in fin dei conti poco servono probabilmente a te che hai bisogno di catturare un altro tipo di dati.

Il tool è online ormai dallo scorso giugno, ed è stato già visitato un buon numero di volte (strano, non l’ho neanche sponsorizzato), non ti resta che metterlo alla prova (nei limiti del concesso, sfrutto le API gratuite di IPStack che offrono un massimo di 10.000 richieste / mese, dovrebbero bastare, giusto? :-)).

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

La domanda che non ha risposta, non una almeno. Chi decide oggi di aprire un blog, o magari un canale YouTube, sceglie di scendere in campo con le proprie competenze (e/o la propria faccia), provando a ritagliarsi una fetta di pubblico che nel corso dei giorni e delle pubblicazioni lo seguirà, con la speranza che quella fetta possa crescere rapidamente, stabilizzandosi più in là possibile, ottenendo così maggiore audience e feedback che aiutano (inutile negarlo) a crescere e migliorare (pur se non sempre costruttivamente).

Chiaramente ci si arriva a chiedere: è solo spesa? Ci rimetto di tasca mia? Io posso solo dirti la mia, basandomi sui tanti anni di esistenza di questo blog, e prima di lui anche di altri.

È possibile farsi sostenere online?

Prima di Gioxx’s Wall era GxWare, prima di GxWare era semplicemente un nickname riservato su chissà quale servizio di hosting gratuito, e gli anni cominciano a farsi sentire parecchio se consideri che sommando tra loro questi fattori si arriva a superare i 20 anni di attività online. Avevo da poco abbandonato le scuole medie quando decisi di mettere in piedi le prime quattro schifezze inguardabili realizzate con Microsoft FrontPage (dapprima, poi modificate a mano per renderle un pelo più appetibili non appena ne ho avuto le capacità, solo perché non volevo affidarmi a Dreamweaver), mi ero stancato di essere solo visitatore.

Di acqua sotto ai ponti ne è passata tanta e, per esperienza personale, la raccolta fondi non forzata (quella che non ti viene ricordata in maniera invasiva) non è una via certa verso un sostentamento (anche minimo) delle tue attività e dei tuoi acquisti (quelli fatti a fini di studio e realizzazione degli articoli). Inutile negare che qualcuno in questi anni mi ha offerto una birra (virtuale, tramite donazione), un caffè o –per chi non voleva metterci del denaro diretto– pensieri, gadget, roba assolutamente gradita e che in alcuni casi porto ancora oggi con me (fatico a ricordare chi mi ha regalato anni fa una splendida maglietta che ancora uso e adoro durante il cambio di stagione tra “non troppo freddo e non troppo caldo“), ma mai abbastanza per coprire quelle spese vive con le quali si ha a che fare per mantenere tutto online e disponibile per chiunque passi (per abitudine o per caso).

Ultimamente ho cominciato a giocare anche con alcuni nuovi strumenti, provo a parlartene brevemente, raccogliendo (se ti va) anche tuoi pareri in merito, sia che tu li abbia usati in passato come “creatore” (colui che è da sostenere), sia se hai “fatto parte del pubblico” (chi sostiene).

Patreon

È possibile farsi sostenere online? 1

Patreon è una piattaforma Internet che permette ai creatori di contenuti di realizzare il proprio servizio di contenuti con sottoscrizione. È diffuso tra i produttori video di YouTube, artisti web, scrittori, autori di podcast, musicisti e altre categorie di utenti che necessitino di pubblicare regolarmente propri contenuti on line. Permette agli artisti di ricevere direttamente i finanziamenti dai propri fan definiti patrons (“patroni”, “benefattori”). Questi possono finanziare in maniera continuativa e regolare o su singola opera. La società è nata da un’idea del musicista Jack Conte e dello sviluppatore Sam Yam nel 2013, e ha sede a San Francisco.

it.wikipedia.org/wiki/Patreon

Ho deciso di creare un account Patreon dopo averne visti tanti altri attivi in giro, mi incuriosiva e ho deciso di provare a creare una pagina che potesse raccogliere alcuni papabili obiettivi del blog, includendo –quando possibile– aggiornamenti per coloro che sono già presenti sul noto sito web e che preferiscono ricevere gli aggiornamenti tramite feed Patreon. Il funzionamento è estremamente semplice, e prevede che gli utenti inizino a sostenere uno o più creatori di contenuti tramite un pagamento mensile di una quota che può essere stabilita dal creatore di contenuti stesso. Inutile dire che cercare di ottenere da subito grandi quote è fuori di discussione, ed è sempre bene lasciare la possibilità di un sostentamento dal peso molto ridotto sulla tasca del proprio budget mensile.

Ho deciso di creare due obiettivi principali per il blog, di cui uno è quello che in ogni caso cerco di fare grazie ai tuoi commenti e alle tue idee, cioè ricercare e sviluppare articoli che possano attrarre la tua attenzione, che possano tornarti utili, che possano aiutarti nella quotidianità tecnologica che ti ritrovi ad affrontare (per lavoro, per passione o per “democratica decisione” di un genitore che crede che tu sia sempre il mago dei PC):

  • Raggiungere i 15 dollari mensili mi permette (tolte le spese di Patreon e di PayPal) di mettere da parte ciò che serve per pagare le spese di hosting del blog e della casa virtuale dei miei progetti personali. Sarebbe già un gran bel traguardo.
  • Con 100 dollari mensili non solo pagherei le spese dell’hosting del blog (e del restante annesso, noads.it compreso), ma potrei anche pensare di girare parte di quei fondi verso una collaborazione esterna, qualcuno in grado di darmi una mano a rispondere a più domande poste dai lettori come te, parte integrante e fondamentale senza la quale non avrebbe per me senso continuare a fare con passione ciò che faccio tutti i giorni :-)

Per raggiungere gli obiettivi, ho deciso di creare queste quote:

  • Ci prendiamo un caffè?
    $2 or more per month
    Seppur solo virtualmente vicini, il prendersi un caffè è il gesto forse più comune tra italiani. Permette di fare due chiacchiere, sentire quell’aroma inconfondibile, stringere nuove amicizie. Bevo caffè regolarmente, me ne offri uno per quello che realizzo?

  • Birra stasera?
    $5 or more per month
    Non so tu, ma io più del vino preferisco la birra, animale anomalo di una terra che esalta tutto ciò che gira attorno al prelibato chicco d’uva. Un salto al pub, la scelta di una bionda, o magari di una rossa, le chiacchiere, il divagare come se non ci fosse quel domani che ti vedrà tornare operativo in ufficio, in fabbrica, in qualsiasi altro luogo svolgi quotidianamente il tuo dovere. Con 5 dollari al mese offrirai quel giro di birra e io, per ricambiare, ti dedicherò un ringraziamento pubblico sul blog, oppure se preferisci finirai tra i sostenitori dei miei progetti personali, X Files o FIREFOX:DICT, parliamone insieme, mi trovi facilmente su Telegram.

  • Ai confini della pazzia, sei tu che sostieni me e decidi che carta giocare!
    $10 or more per month
    Sono certo che una quota simile non arriverà mai, ma sperare non costa nulla (tanto per rimanere in tema). Con 10 dollari al mese avrai la possibilità di chiedermi un articolo su un tema a tua scelta. Le ricerche richiedono tempo, così come la stesura, la verifica e la pubblicazione di ogni mio singolo articolo, perché in tanti anni che porto avanti questa mia creatura ho capito che guadagnare un lettore costa sudore, sangue e fatica, ma perderlo è un battito di ciglia.

    Parlami di ciò che vorresti approfondire, avrai un canale diretto con me (usiamo Telegram? La mail? Whatsapp? Decidi tu), ragioneremo insieme sull’articolo, io cercherò di dare risposta alla tua curiosità.

    Occhio, non sono bravo a parlare di vini o di shampoo contro la forfora, rimaniamo nel mio ambito, la tecnologia è il mio mestiere, il web il mio pane quotidiano, i videogiochi una delle passioni che più adoro da quando ho memoria.

Riguardo l’argomento commissioni e spese da sostenere, ti consiglio la lettura di un articolo pubblicato da un altro creatore (Free Playing), in seguito a un cambio di regole stabilito proprio da Patreon a fine del 2017: patreon.com/posts/nuove-regole-su-15813276.

Credo che questo sia anche il momento giusto per ringraziare Andrea, primo a volersi aggiungere alla quota del caffè mensile, è pur sempre un buon auspicio!

Passa a trovarmi all’indirizzo patreon.com/gioxx! :-)

PayPal

È possibile farsi sostenere online? 2

Difficile pensare che tu non lo conosca, considerando che si tratta di uno dei metodi di pagamento forse più conosciuti sulla faccia della Terra. PayPal è nato per altri motivi, vero, ma integra al suo interno un sistema di donazione che può essere facilmente utilizzato da tutti (dove quel tutti corrisponde al bacino utenti che ha almeno un account registrato sul servizio, chiaro). PayPal.me è quella pagina web essenziale, gateway per passaggio di denaro immediato e senza la necessità di istruzioni molto dettagliate.

Non ci sono “goal“, non ci sono quote, c’è la totale libertà da parte dell’utente di sostenere il lavoro fatto, in passato è stato il metodo scelto da qualche lettore per offrirmi una birra virtuale, un ringraziamento sempre apprezzato.

Nell’impostazione “Amici e familiari“, è gratuito per i tuoi amici e familiari inviarti denaro in euro all’interno dell’Unione europea, se usano il saldo PayPal o un conto bancario. Diversa la questione se si sceglie di utilizzare una carta di credito, ti rimando alle domande frequenti per capire qualcosa in più su commissioni e spese da sostenere.

Passa a trovarmi all’indirizzo paypal.me/gioxx! :-)

Buy me a coffee

È possibile farsi sostenere online? 3

Una ventata d’aria fresca in mezzo ai colossi intoccabili. Buy Me a Coffee è un sito web semplice, alla stregua di PayPal.me, per offrire un caffè al creatore di contenuti che preferisci. È tutto maledettamente semplice, dovrai esclusivamente scegliere di offrire uno, tre o cinque caffè (rispettivamente 3, 9 e 15 dollari), “one-shot“, vale solo per quello sparo singolo che potrai certamente ripetere ogni volta che vorrai, ma che in nessuna maniera ti legherà a qualcosa di schedulato e ripetitivo a cadenza regolare nel tempo.

Ho registrato la mia pagina personale e ricevuto in maniera anonima un caffè (grazie), anche qui –come in Patreon– potrai pubblicare aggiornamenti di stato per tenere aggiornati coloro che –iscritti al medesimo servizio– decideranno di seguirti come fosse un qualsiasi feed.

Passa a trovarmi all’indirizzo buymeacoffee.com/gioxx! :-)

Last but not least: Amazon

È possibile farsi sostenere online? 4

Sì perché se c’è un metodo per sostenere i creatori di contenuti che nulla costa a te, quello è proprio Amazon. Il colosso dell’e-commerce conquista e regna pressoché sovrano sul web di oggi, partner affidabile e per certi versi insostituibile per tutti coloro che necessitano di acquistare il prossimo gadget tecnologico o ciò che più banalmente serve in cucina, a casa. Amazon si è costruito negli anni una posizione difficilmente sostituibile, e con il suo abbonamento Prime consente in alcuni casi (in diverse città) di fruire di consegne entro due ore dall’ordine.

Ogni volta che ti parlo di prodotti nelle mie recensioni, tendo a proporti collegamenti verso Amazon che integrano il codice referral, il quale permetterà di guadagnare delle piccole commissioni sulla vendita andata a buon fine. Questo non altera in nessun caso il prezzo finale dell’oggetto che stai acquistando, è una transazione che avviene tra il sottoscritto e Amazon, per questo motivo è la forma di ringraziamento e sostentamento forse più conveniente e comoda per chiunque. Potresti pensare di sostituire il tuo segnalibro con quello che integra già il referral così da darlo per scontato per ogni tuo acquisto da postazione fissa o mobile!

Fai i tuoi acquisti partendo da questo collegamento: spendi.li/gioxx/me :-)

In conclusione

Tanti i metodi disponibili, forse poca l’intenzione di far sentire il proprio contributo quando leggi o usi qualcosa di creato apposta per renderti la vita più semplice, risolvere problemi che avrebbero richiesto molto più tempo o uso di risorse esterne (anche a pagamento), ci sono articoli scritti anni fa e che ancora oggi riscuotono un grande successo (e relativi ringraziamenti, mi viene da pensare a questo solo per fare un esempio), c’è (da sempre, non solo in questo mio specifico caso, ci mancherebbe) una sommaria convinzione che tutto ciò che c’è online sia e debba rimanere gratuito, che si possa ottenere con due clic e via, senza capire bene cosa c’è dietro.

Da circa un ventennio io metto a budget quelle che sono le spese per tenere in piedi questo blog e gli altri siti web che ci gravitano intorno, lo spazio in Cloud che –tra le varie– serve a tenere disponibili h24 file richiamati negli articoli e nei programmi distribuiti in giro, lo faccio molto più che volentieri e per quella grande passione che continuo a nutrire per questo ambito, per il mio modo di essere e di vedere la tecnologia, per il mio lavoro (quello vero, quello stipendiato). Per tutto il resto, e per il futuro non ancora scritto, credo di essere assolutamente d’accordo con quanto scritto da Emanuele qualche giorno fa.

E tu? Cosa ne pensi? Ti piace scrivere online? Hai un blog? Un canale YouTube? Chi sostiene le spese? Che metodi di sostentamento hai usato o continui a usare per raccogliere le donazioni dei tuoi lettori? Pensi che sia giusto limitare la tua creatività e la diffusione dei contenuti offrendoli ai lettori interessati a versare una quota per ciò che crei?

L’area commenti è a tua totale disposizione per discuterne insieme :-)


immagine di copertina: unsplash.com / author: Fabian Blank

Condividi l'articolo con i tuoi contatti:

DokuWiki è l’ennesimo software in grado di mettere in piedi uno spazio dove poter salvare testo, immagini e allegati da rendere pubblici e magari modificabili da persone interessate a mandare avanti vostri lavori, idee, spunti di riflessione. Viene usato nei modi più disparati (anche come blog, ndr) ma personalmente lo preferisco per ciò che si prefigge di fare dalla nascita:

DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating documentation of any kind. It is targeted at developer teams, workgroups and small companies. It has a simple but powerful syntax which makes sure the datafiles remain readable outside the Wiki and eases the creation of structured texts. All data is stored in plain text files – no database is required.

Liberamente scaricabile dal sito web dell’autore (splitbrain.org/projects/dokuwiki), vanta un’installazione sufficientemente semplice (occhio a modificare i permessi delle cartelle e sottocartelle in 0777, qui la lista di ciò che va toccato: public.gfsolone.com/wiki/doku.php?id=wiki:permessi_installazione) e una configurazione che può essere un pelo più complessa se si decide di mettere mano ben oltre quello che il software propone di default. In ogni caso l’abbondante documentazione a vostra disposizione vi aiuterà nello scopo. Potete vedere un’installazione funzionante sullo spazio pubblico di gfsolone.Com all’indirizzo public.gfsolone.com/wiki (che andrà a sostituire l’ormai abbandonata installazione su GxWare).

Ma parliamo dell’argomento principale dell’articolo: l’aggiornamento.

Sempre sulla PubWiki ho creato una sezione “Diff” dedicata a tutti coloro che hanno un’installazione su hosting condiviso e necessitano di fare l’aggiornamento alle nuove versioni. Attraverso un documento del supporto si può imparare ad individuare facilmente ciò che realmente cambia da una release ad un’altra: dokuwiki.org/install:diffupgrade. Per farlo è necessario avere accesso ad un terminale Linux (o equivalente) ed eseguire dei semplici comandi che serviranno a scompattare i file, quindi confrontare il loro contenuto (i file che compongono il software).

Prima di partire

Ricordate sempre di effettuare un backup della vostra configurazione e dei vostri contenuti (date un’occhiata in documentazione o consultate questo mio articolo a riguardo), quindi di aprire in modifica il file di configurazione e impostare il tema di default per evitare sgradite sorprese post-upgrade. Se vi state chiedendo perché sappiate che il sottoscritto ha “bruciato” un’installazione in produzione, rifatta quasi da capo recuperando parzialmente i dati dal backup, per poi capire che il tema custom non permetteva di far funzionare in modo corretto Adora Belle.

Si, potete insultarmi per questo.

Diff & Patch

Dato che odio dover ricaricare tutto ogni volta, preferisco seguire questo metodo, individuare i file modificati da una release all’altra ed eseguire così l’aggiornamento:

DokuWiki: Diff

Per ciascuna nuova release (entro qualche giorno al massimo, portate pazienza) creerò un pacchetto “diff” contenente i file modificati da una release all’altra, avendo cura di rimuovere anche il file install.php che non va più tenuto nella cartella ftp di DokuWiki dopo aver già effettuato la prima installazione.

Per fare ciò che ho fatto io basterà scaricare i due file corrispondenti alla release attuale di DokuWiki e quella subito precedente, quindi estrarli e confrontarli tramite questo comando:

diff -rs dokuwiki-2012-01-25b dokuwiki-2012-09-10 | awk '/identical/{print $4}' | xargs rm -v

Dove “dokuwiki-2012-01-25b” e “dokuwiki-2012-09-10” ovviamente andranno modificati di volta in volta con i nuovi numeri di versione. Lo stesso comando (per il quale ringrazio il buon Paolo) si occuperà di cancellare tutti i file non modificati da una release all’altra, permettendo così di tenere solo lo stretto indispensabile, connettersi in SFTP alla macchina, recuperare la cartella intera e preparare un file compresso con il risultato :-)

Ecco quindi ciò che ho ottenuto dal rilascio “Adora Belle“: public.gfsolone.com/wiki/doku.php?id=wiki:dokuwiki_diff:adorabelle

Il pacchetto compresso un è 7z (7zip.org) ed è disponibile per il download qui: public.gfsolone.com/wiki/lib/exe/fetch.php?media=wiki:dokuwiki_diff:dokuwiki-2012-09-10-diff.7z

Chiunque voglia collaborare o suggerire altri metodi per gestire gli aggiornamenti di DokuWiki su hosting condiviso è il benvenuto, idem chi vorrebbe provare a creare i diff da caricare poi sul Wiki. Ho anche provato ad utilizzare il plugin consigliato in documentazione ufficiale ma sfortunatamente WebPerTe (dove conservo gfsolone.com) impone alcune restrizioni che non permettono la modifica dinamica dei permessi sui file (quindi la sovrascrittura).

Condividi l'articolo con i tuoi contatti:

Piccolo articolo per altrettanto piccola utility. La utilizzo da diverso tempo, oggi voglio parlarvene, magari può tornare utile a qualcuno di voi all’ascolto! Si chiama File Mover e –come dovrebbe far intuire il nome– permette di “muovere file“, banale no? Eppure lo fa perfettamente.

Prende i file contenuti in una cartella e li sposta verso una seconda cartella ad intervalli di tempo precedentemente specificati. Ciò vuol dire che ad ogni ciclo stabilito effettuerà in autonomia un taglia-incolla di tutto ciò che trova nella sorgente muovendo i dati nella destinazione.

L’utilizzo nella mia attuale configurazione prevede una cartella (sorgente) sul mio account Dropbox all’interno della quale sposto i file che dovranno poi finire in una seconda cartella (destinazione) presente solo sul PC di casa a Ravenna, anch’esso ovviamente con Dropbox installato. Si tratta di file che non necessitano di alcuna sincronia / versioning, ma che devono poter essere conservati nel disco esterno, dove solitamente tengo i backup di fotografie o scansioni di documenti.

File Mover mi permette di effettuare lo spostamento senza che io mi connetta remotamente al Desktop ravennate:

In alto nel primo box evidenziato sarà necessario inserire i secondi (l’intervallo) al termine dei quali partirà il controllo dei file contenuti nella cartella sorgente (qui troverete un calcolatore che potrà aiutarvi nella conversione da minuti o ore). Ovviamente nel secondo box dovrete indicare la cartella sorgente e quella destinazione, quindi avviare il contatore attraverso il grande pulsante posto in alto a destra nella finestra. Potrete vedere ciò che accade nel box “Action Log“, evidenziato in fondo alla finestra.

L’utility è liberamente scaricabile dalla pagina ufficiale mattcollinge.wordpress.com/software/file-mover, è gratuita per uso casalingo, contrariamente ad un utilizzo commerciale che dovrebbe essere soggetto al pagamento di una licenza. Permette inoltre di specificare altre opzioni avanzate che vi permettono di specificare multipli comportamenti di spostamento (Advanced File Move) e non solo. Il comportamento del software è soggetto alle vostre esigenze, sufficientemente ben fatto tanto da rinunciare a scrivere un paio di righe in batch o cercare un diverso tipo di software, magari più costoso o più pesante!

Buon lavoro :-)

Condividi l'articolo con i tuoi contatti:

Era il 2 febbraio del 2009 quando per la prima volta è comparso un articolo riguardante un servizio tanto “stupido” quanto utile allo stesso tempo.

A due anni di distanza dalla sua prima versione (più che stabile, visto il lavoro che doveva svolgere), oggi vi presento una seconda versione che va incontro ad alcune richieste ricevute nel frattempo (grazie Marco, grazie Paolo, ndr): 9 caratteri, un ciclo in grado di mischiare meglio le lettere e i numeri disponibili, la possibilità di copiare e incollare la password priva di spazio finale (un piccolo bug che c’era nella precedente versione, almeno via Firefox e Chrome).

L’indirizzo è rimasto lo stesso:

services.gxware.org/passwd

nonostante lo script che sta alla base della pagina sia cambiato diventando decisamente più ristretto (script originale: TotallyPHP):

<?php
 function createRandomPassword($len) {
 if (!isset($len)) { $len = 9; };
 $chars = &amp;amp;amp;amp;quot;abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;amp;amp;amp;quot;;
 $charsLen = (strlen($chars)-1);
 srand((double)microtime()*1000000);
 $i = 0;
 $pass = '' ;
 while ( $i &amp;amp;amp;amp;lt; $len ) {
 $num = rand() % $charsLen;
 $tmp = substr($chars, $num, 1);
 $pass = $pass . $tmp;
 $i++;
 }
 return $pass;
}
$password = createRandomPassword();
echo $password; ?>

La seconda delle 3 novità consiste nel fatto che –se necessariopotrete scaricare una differente versione del tool anche in locale, uno script in Visual Basic che vi permetterà –una volta avviato– di scegliere il numero di password da generare e salvarle in un file di testo, una per ciascuna riga così da poter rapidamente copiare ed incollare ciò che vi serve. Il codice è stato realizzato e pubblicato su Tek-Tips.com, ed è disponibile all’indirizzo:

public.gfsolone.com/tools/passwd/randomPasswd.vbs

Per scaricarlo cliccate con il tasto destro sul collegamento e salvatelo in locale sul vostro PC (Salve destinazione come …)

'==========================================================================
'
' NAME: RandomPasswordGenerator.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' URL: http://www.thespidersparlor.com
' DATE  : 7/29/2004
' MODIFICATIONS:
'         9/2/2008 Added dictionary object to ensure
'                  uniqueness of passwords
'
' COMMENT: Generates Random Passwords meeting &amp;amp;amp;amp;quot;Complex&amp;amp;amp;amp;quot; Requirements
'          By default will generate a 6 digit password.
'          Edit line passLen = 6 to change length
'==========================================================================
Option Explicit

Dim pGenNum, newpass, passList, inFlag, pgLength, x, fso, ts, passLen
Const ForWriting = 2
passLen = 9

'Give inFlag (input Flag) an initial value to ensure we run once
inFlag = &amp;amp;amp;amp;quot;Seed&amp;amp;amp;amp;quot;

Do While inFlag &amp;amp;amp;amp;lt;&amp;amp;amp;amp;gt; pGenNum
pGenNum = InputBox(&amp;amp;amp;amp;quot;How many passwords would you like to create?&amp;amp;amp;amp;quot; &amp;amp;amp;amp;amp; vbCrLf &amp;amp;amp;amp;amp; _
&amp;amp;amp;amp;quot;Enter a Numeric Value&amp;amp;amp;amp;quot; &amp;amp;amp;amp;amp; vbCrLf &amp;amp;amp;amp;amp; _
&amp;amp;amp;amp;quot;Blank Entry Will Cancel Script&amp;amp;amp;amp;quot;,&amp;amp;amp;amp;quot;Enter Number of Passwords to Create&amp;amp;amp;amp;quot;)

'Quit if no entry
If pGenNum = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot; Then WScript.Quit

'Now clear inFlag so we can compare it to the pGenInput going forward
inFlag = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
pgLength = Len(pGenNum)
'Enumerate each character to ensure we only have numbers
For x = 1 To pgLength
If Asc(Mid(pGenNum,x,1)) &amp;amp;amp;amp;lt; 48 Or Asc(Mid(pGenNum,x,1)) &amp;amp;amp;amp;gt; 57 Then
inFlag = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
Else
'Build inFlag one character at a time if it is a number.
inFlag = inFlag &amp;amp;amp;amp;amp; Mid(pGenNum,x,1)
End If
Next
'We made it through each character.  If not equal prompt for a number.
If inFlag &amp;amp;amp;amp;lt;&amp;amp;amp;amp;gt; pGenNum Then inFlag = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
Loop

'Generate the number of required passwords.
'Use a dictionary object to ensure uniqueness.
Dim objDict
Set objDict = CreateObject(&amp;amp;amp;amp;quot;Scripting.Dictionary&amp;amp;amp;amp;quot;)
Do Until objDict.Count = CInt(pGenNum)
newpass = generatePassword(passLen)
If Not objDict.Exists(newpass) Then
objDict.Add newpass, &amp;amp;amp;amp;quot;Unique Password&amp;amp;amp;amp;quot;
passList = passList &amp;amp;amp;amp;amp; newpass &amp;amp;amp;amp;amp; vbCrLf
End If
Loop

'Now save it all to a text file.
Set fso = CreateObject(&amp;amp;amp;amp;quot;Scripting.FileSystemObject&amp;amp;amp;amp;quot;)
Set ts = fso.CreateTextFile (&amp;amp;amp;amp;quot;PasswordList.txt&amp;amp;amp;amp;quot;, ForWriting)
ts.write passList
MsgBox &amp;amp;amp;amp;quot;Passwords saved to PasswordList.txt&amp;amp;amp;amp;quot;,,&amp;amp;amp;amp;quot;Passwords Generated&amp;amp;amp;amp;quot;
set ts = nothing
set fso = nothing

Function generatePassword(PASSWORD_LENGTH)

Dim NUMLOWER, NUMUPPER, LOWERBOUND, UPPERBOUND, LOWERBOUND1, UPPERBOUND1, SYMLOWER, SYMUPPER
Dim newPassword, count, pwd
Dim pCheckComplex, pCheckComplexUp, pCheckComplexLow, pCheckComplexNum, pCheckComplexSym, pCheckAnswer

NUMLOWER    = 48  ' 48 = 0
NUMUPPER    = 57  ' 57 = 9
LOWERBOUND  = 65  ' 65 = A
UPPERBOUND  = 90  ' 90 = Z
LOWERBOUND1 = 97  ' 97 = a
UPPERBOUND1 = 122 ' 122 = z
SYMLOWER    = 33  ' 33 = !
SYMUPPER    = 46  ' 46 = .
pCheckComplexUp  = 0 ' used later to check number of character types in password
pCheckComplexLow = 0 ' used later to check number of character types in password
pCheckComplexNum = 0 ' used later to check number of character types in password
pCheckComplexSym = 0 ' used later to check number of character types in password

' initialize the random number generator
Randomize()

newPassword = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
count = 0
DO UNTIL count = PASSWORD_LENGTH
' generate a num between 2 and 10

' if num &amp;amp;amp;amp;lt;= 2 create a symbol
If Int( ( 10 - 2 + 1 ) * Rnd + 2 ) &amp;amp;amp;amp;lt;= 2 Then
pwd = Int( ( SYMUPPER - SYMLOWER + 1 ) * Rnd + SYMLOWER )

' if num is between 3 and 5 create a lowercase
Elseif Int( ( 10 - 2 + 1 ) * Rnd + 2 ) &amp;amp;amp;amp;gt; 2 And  Int( ( 10 - 2 + 1 ) * Rnd + 2 ) &amp;amp;amp;amp;lt;= 5 Then
pwd = Int( ( UPPERBOUND1 - LOWERBOUND1 + 1 ) * Rnd + LOWERBOUND1 )

' if num is 6 or 7 generate an uppercase
Elseif Int( ( 10 - 2 + 1 ) * Rnd + 2 ) &amp;amp;amp;amp;gt; 5 And  Int( ( 10 - 2 + 1 ) * Rnd + 2 ) &amp;amp;amp;amp;lt;= 7 Then
pwd = Int( ( UPPERBOUND - LOWERBOUND + 1 ) * Rnd + LOWERBOUND )

Else
pwd = Int( ( NUMUPPER - NUMLOWER + 1 ) * Rnd + NUMLOWER )
End If

newPassword = newPassword + Chr( pwd )

count = count + 1

'Check to make sure that a proper mix of characters has been created.  If not discard the password.
If count = (PASSWORD_LENGTH) Then
For pCheckComplex = 1 To PASSWORD_LENGTH
'Check for uppercase
If Asc(Mid(newPassword,pCheckComplex,1)) &amp;amp;amp;amp;gt;64 And Asc(Mid(newPassword,pCheckComplex,1))&amp;amp;amp;amp;lt; 90 Then
pCheckComplexUp = 1
'Check for lowercase
ElseIf Asc(Mid(newPassword,pCheckComplex,1)) &amp;amp;amp;amp;gt;96 And Asc(Mid(newPassword,pCheckComplex,1))&amp;amp;amp;amp;lt; 123 Then
pCheckComplexLow = 1
'Check for numbers
ElseIf Asc(Mid(newPassword,pCheckComplex,1)) &amp;amp;amp;amp;gt;47 And Asc(Mid(newPassword,pCheckComplex,1))&amp;amp;amp;amp;lt; 58 Then
pCheckComplexNum = 1
'Check for symbols
ElseIf Asc(Mid(newPassword,pCheckComplex,1)) &amp;amp;amp;amp;gt;32 And Asc(Mid(newPassword,pCheckComplex,1))&amp;amp;amp;amp;lt; 47 Then
pCheckComplexSym = 1
End If
Next

'Add up the number of character sets.  We require 3 or 4 for a complex password.
pCheckAnswer = pCheckComplexUp+pCheckComplexLow+pCheckComplexNum+pCheckComplexSym

If pCheckAnswer &amp;amp;amp;amp;lt; 3 Then
newPassword = &amp;amp;amp;amp;quot;&amp;amp;amp;amp;quot;
count = 0
End If
End If
Loop
'The password is good so return it
generatePassword = newPassword
End Function

Ultima novità è l’integrazione del Random Password Generator all’interno degli strumenti “mobili” del Network GxWare, da poco trasferiti sotto il nuovo dominio network.gxware.org/iphone:

network.gxware.org/iphone/passwd.php

Questo vi permetterà di generare rapidamente password sufficientemente complesse avendo a portata di mano solo il vostro telefono ed una connessione a internet.

Per chi volesse invece continuare ad usare la prima versione, ho lasciato la possibilità di accedere alla precedente pagina iniziale semplicemente puntando il browser a services.gxware.org/passwd/v1.php.

Buon lavoro! :-)

UPDATE
Grazie al suggerimento dell’utente “caccolangrifata lo script è stato modificato includendo l’utilizzo di lettere maiuscole (oltre che minuscole, come di default) e la possibilità di specificare una differente quota caratteri della password. La modifica è stata operata sia sulla pagina del servizio standard che quella mobile! :-)
Condividi l'articolo con i tuoi contatti: