c'e' solo un modo di fare le cose: farle bene
Gia immagino le facce dubbiose di chi sta leggendo questo post. Concordo che la password debba essere complessa al fine di evitare o quanto meno rallentare un brute force, ma spesso se la password è troppo ostica da ricordare viene scritta su un post-it e messa in bella mostra sul monitor!
Ecco il codice di una bella funzione PHP che genera delle comode human password:
function humanPass($length =
{
$password = '';
$conso=array('b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','y','z');
$vocal=array('a','e','i','o','u');
srand((double)microtime()*1000000);
for($i=1; $i<=$length; $i++) {
if ($i % 2) {
$password.=$conso[rand(0,count($conso)-1)];
} else {
$password.=$vocal[rand(0,count($vocal)-1)];
}
}
return $password;
}
Che cosa fa? Genera una stringa composta da $length caratteri composta da consonanti e vocali equamente alternate.
Se certe consonanti o vocali ci sono antipatiche basta rimuoverle dai due array e non verranno usate.
Ripeto: non è un sistema per generare password sicure quindi se la vostra Bibbia detta policy ferrer ignorate questo mio post.
Uso Eclipse (su Ubuntu) per scrivere codice PHP e dopo le difficoltà funzionali ormai superate, lo trovo uno strumento molto comodo.
Ho da poco scaricato la versione “Galileo” con PDT, ma installando il plugin Subclipse (versione 1.4) , necessario per avere il supporto SVN, ricevevo sempre questo errore: unable to load default svn client.
Ho risolto installando libsvn-java:
sudo apt-get install libsvn-java
e poi editando il file eclipse.ini presente nella directory di Eclipse ed aggiungendo queste righe:
-Djava.library.path=/usr/share/java/
-Djava.library.path=/usr/lib/jni/
Subito dopo la direttiva “-vmargs“.
Dopo il riavvio del programma, tutto sembra funzionare.
Buon coding a tutti!
Quando si scrive un qualsiasi tipo di software capita spesso di imbattersi nelle espressioni regolari al fine di vigilare sull’input dell’utente o per estrapolarne dei dati.
Ho deciso di raccogliere le espressioni regolari per PHP più comuni, quelle che ho utilizzato di più nella mia “giovane” carriera da programmattore.
$email = "test@ideafactory.it";
if (preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email)) {
echo "OK";
} else {
echo "KO";
}
E’ importante ricordare che con le espressioni regolati si verifica solo la sintassi e non la semantica, quindi un indirizzo e-mail può essere ben scritto ma inesistente!.
$username = "user_name12";
if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {
echo "OK";
} else {
echo "KO";
}
La username, nel mio caso, deve essere composta da un minimo 5 ad un massimo di 20 caratteri e può contenere solo lettere, numeri e underscore “_”.
$IP = "198.168.1.7";
if (preg_match('/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/',$IP)) {
echo "OK";
} else {
echo "KO";
}
$url = "http://www.ideafactory.it/";
if (preg_match('/^(http|https):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) {
echo "OK";
} else {
echo "KO";
}
Un’ottima guida sulle espressioni regolari in PHP è quella fornita da HTML.IT presente qui.
eAccelerator è un’estensione gratuita ed open source per PHP che si occupa di effettuare un lavoro di accelerazione, ottimizzazione e di cache sui vostri script scritti per l’appunto in PHP. I benefici di usare eAccelerator sono dimostrati da infiniti benchmark presenti su Internet. (continua…)
In Mac OS X è presente Apache e per avviarlo basta abilitare la “Condivisione web” sotto “Condivisione” che si trova in “Preferenze di sitema” nella parte “Internet e network“:

Adesso con il vostro browsr di fiducia potete navigare il vostro indirizzo ip e vi verrà mostrata la pagina di benvenuto di Apache (la cui document root è /Library/WebServer/Documents/).
Se al vostro indirizzo aggiungete:
/~nomeutente/
Compariranno a video i contenuti HTML che si trovano sotto la directory “Siti” presente nella vostra home.
Fin qui tutto bene, ma PHP 5?. (continua…)
Ieri sera, mentre controllavo le visite con Google Analytics, ho visto che hanno raggiunto IdeaFactory, in cerca del jQuery Autocomplete Helper, da CakePHP.jp e spulciando il sito ho trovato questo:
Quindi: THANKS TO CAKEPHP.JP!!!
Preso dell’entusiamo ho pubblicato il mio helper su Bakery che è un reposity di guide, tutorial e codice a cui tutti gli appassionati di CakePHP possono contribuire.
Spero che il mio articolo venga accettato dai moderatori, se così fosse sarà raggiungibile qui.
Tanto tempo fa l’informatica era 0 o 1.
Adesso fa come vuole tantè che in un server web, PHP riusciva a scrivere il file di sessione ma poi non poteva più aggiornarlo con i nuovi valori, il tutto senza errori o anomalie.
Il problema? L’hard-disk!
Mi è venuto in mente di cambiare il path del file di sessione tramite questa direttiva:
ini_set("session.save_path","nuovo_path");
Eh meravigliosamente tutto ha funzionato…
Evidentemente la porzione di filesystem usata /var/lib/php5 ha qualche problema.
Adesso l’hard-disk è stato spostato da primario a secondario nell’array RAID e pare che tutto funziona.
Staremo a vedere.
18 lune e tante stelle... La #Neve è tutto! http://t.co/Zwg5fhky [gianlucagentile]
@AngelikaCoco presto capirai anche tu perché ne vale sempre sempre sempre la pena! Snowboard4Me? It's my life... [gianlucagentile]
Eh poi capisci che cos'è la felicità. #Neve [gianlucagentile]
Powered by Lifestream.
| L | M | M | G | V | S | D |
|---|---|---|---|---|---|---|
| « nov | ||||||
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||