L'ultimo articolo scritto su Sir Bit risale a marzo 2014. La versione che state visitando è un archivio: le pagine sono accessibili come sempre e gli autori potrebbero rispondere ai commenti, ma non saranno inseriti dei nuovi articoli. Visita questa pagina per i dettagli.
Homepage di WikiLeaks

WikiLeaks ha pubblicato migliaia di documenti coperti da segreto di Stato, accogliendo sostenitori e critiche pesanti

WikiLeaks è il fenomeno del momento.
Dall’inizio del 2010, la sua fama nel web è aumentata incredibilmente fino a raggiungere livelli inimmaginabili. Nel bene o nel male, nelle reti televisive e sui quotidiani, in campo informatico e politico, sono poche le persone che non l’hanno sentito nominare.
La curiosità è d’obbligo. Vediamo di fare un po’ di chiarezza e di capire perché WikiLeaks è tanto famosa.

Che cos’è WikiLeaks?

Il nome è un programma: leak è un termine inglese che sta per “perdita, fuga”, usato dal sito con il significato di “fuga di notizie”. E, infatti, è questo che si propone il sito: pubblicare sul web quelle notizie – principalmente di carattere politico e militare – che altrimenti sarebbero tenute segrete dai governi.
Nonostante il prefisso, non ha niente a che fare con il gruppo di Wikimedia Foundation (di cui fa parte, per esempio, Wikipedia), anzi è un’organizzazione indipendente e si rifiuta di avere una sede ufficiale. Il motivo, se ci pensate, è piuttosto ovvio, considerando le “merci scottanti” di cui tratta e le persecuzioni (inseguimenti) che ha subito in seguito da parte dei governi.

Leggi Tutto >>

Poco tempo fa abbiamo visto come creare una login sicura per accedere a un’area di amministrazione.
A questo punto potremmo fare un passo avanti e stabilire, per ogni utente, quali sono le aree in cui può accedere e quali invece nascondergli.

Un campo nel database per gestire i livelli

Possiamo gestire la cosa in due modi.
In un caso, nella tabella utenti (che abbiamo già nel database) aggiungiamo un semplice campo chiamato livello, che conterrà un valore intero. All’utente amministratore daremo il valore “1”, mentre a seguire gli altri utenti avranno un numero superiore, che corrisponde a un privilegio via via più basso.

Ogni livello avrà accesso a determinate aree. L’amministratore, naturalmente, avrà accesso a qualsiasi area, mentre gli utenti del secondo livello, per esempio, potranno accedere a tutto tranne all’area di gestione delle password o della creazione delle fatture. Gli utenti di terzo livello, invece, si vedranno negare anche aree minori come la possibilità di modificare alcuni dati.
Naturalmente, le pagine o le aree di accesso per ogni livello saranno a discrezione del programmatore e potranno essere diverse da sito a sito.

Leggi Tutto >>

Se avete bisogno di estrarre delle immagini presenti in un file Excel, troverete un ottimo appoggio nella classe PHPExcel, che si occupa per l’appunto di gestire questo tipo di file attraverso il linguaggio PHP: creazione, gestione, estrapolazione di dati.

In questo articolo vedremo come estrarre delle immagini da un file con estensione .xls o .xlsx, senza entrare troppo nei dettagli della classe, che di per sé permette operazioni ben più complesse.

Scaricate innanzitutto la classe PHPExcel da questo indirizzo. Nello stesso sito troverete una pagina di discussione (in inglese) e una di documentazione – che al momento in cui scrivo non è funzionante; ma la potete trovare inclusa nel file da scaricare.

Scompattate lo zip all’interno del sito e create un file index.php nella stessa cartella: sarà il file su cui andremo a lavorare. Qui prendo come ipotesi che la cartella della classe abbia il nome “phpexcel”: in caso di diversa denominazione, vanno ovviamente apportate le dovute modifiche allo script.

Leggi Tutto >>

JQuery è un framework potentissimo, che gestisce più processi mettendoli tutti in una coda.

Ciò significa che se eseguiamo due comandi, come il fadeIn di due blocchi diversi:

1
2
$('#blocco_immagine').fadeIn('slow');
$('#blocco_testo').fadeIn();

li farà partire in coda, senza attendere necessariamente la fine del processo precedente.

Il problema si presenta quando dobbiamo necessariamente fermare il processo precedente ed eseguire quello nuovo, come nel caso di una slide o di fadeIn molteplici.

Leggi Tutto >>

Può capitare, nel nostro sito, di avere una cartella dove sono contenuti file mp3 o documenti che dovrebbero essere accessibili da una ristretta cerchia di persone. Potete naturalmente nascondere il link che punta a quel file, in modo che solo gli utenti dotati di password possano vederlo e raggiungerlo; ma una volta scoperto il nome e il percorso del file, chiunque potrebbe raggiungerlo scrivendo semplicemente la path nella barra degli indirizzi del browser.

Lo script che vi vado a presentare elimina questo problema alla fonte.
Riassumendo: a priori impediremo a chiunque l’accesso alla cartella (che non sarà accessibile scrivendo il suo percorso sul browser). Tramite uno script in php, faremo in modo che solo gli utenti dotati di password possano accedervi.

Leggi Tutto >>

Per chi lavora con Microsoft Outlook per gestire la propria posta elettronica, prima o poi si sarà chiesto come fare per minimizzare il programma, in modo che premendo sul classico “-” in alto a destra vada a finire nella tray bar (lo spazio in basso a destra di Windows, vicino all’orologio, chiamata anche “area di notifica”) invece che invadere la nostra barra delle applicazioni (lo spazio in basso dove sono mostrati tutti i programmi aperti).
Quando i programmi aperti iniziano a essere molti, infatti, più teniamo la barra delle applicazioni pulita e meglio riusciamo a muoverci.

Leggi Tutto >>

Quante volte vi è capitato di perdere dei pomeriggi interi nel sistemare gli accenti o i caratteri strani, dopo un trasferimento online di un sito che in locale funzionava senza problemi?
Il problema probabilmente risiede nella codifica del database (nel nostro caso mysql) e in come il server interpreta i dati provenienti dal database.

Dopo diverse prove, spesso infruttuose, e rattoppamenti (la funzione str_replace può permettervi di sostituire i caratteri “strambi” con quelli voluti, ma si tratta di un metodo instabile e sporco), sono arrivato a farmi un’idea abbastanza precisa su come ovviare al problema. A posteriori, con un po’ di logica sembra tutto semplice.

In questa sede presuppongo di interfacciarmi, tramite php, a un server mysql e che i campi delle tabelle dove andrà salvato il testo abbia la codifica “latin1_swedish_ci”. E’ chiaro che impostando una codifica diversa ai campi (per esempio UTF-8), lo script potrebbe non funzionare correttamente e debba essere di conseguenza modificato.
Inoltre prendo per assodato che il file php abbia, di suo, una codifica UTF-8.

Leggi Tutto >>

Facebook e Zuckerberg

Facebook contiene i dati di milioni di persone, che possono essere requisiti con un’ordinanza del governo

Che Facebook sia un rischio per la privacy  (e la sicurezza) degli utenti, è facilmente intuibile. Gli utenti dei social network in generale, spesso si preoccupano poco di diffondere informazioni personali, che possono andare dai semplici nome e data di nascita al più invasivo numero di telefono.
Il motivo? I social network sono “terra a terra”, gli amici vengono scelti di persona e pertanto si ritengono più affidabili rispetto alle vere persone incontrate per strada, anche se è noto che gran parte degli “amici” sono in realtà dei meri sconosciuti.

Julian Assange, fondatore del famoso Wikileaks (sito nel quale sono state diffuse informazioni top-secret, che gli hanno valso l’antipatia soprattutto del governo USA), rincara la dose. In un’intervista a Russian Today, che potete leggere a questo indirizzo (in inglese), dichiara apertamente che Facebook è diventata l’arma più efficiente per lo spionaggio governativo.

Leggi Tutto >>

Quando si crea un’area di amministrazione, dove un utente qualsiasi può accedere, è indispensabile creare la pagina tenendo conto di due fattori principali:
evitare le query-injections, cioè rendere la vita difficile a eventuali crackers che inviino un codice dannoso che potrebbe intaccare il nostro database
rispettare la privacy e la sicurezza dell’utente, criptandogli la password e stabilendo un tempo massimo in cui l’area di amministrazione resti “aperta”, per impedire che l’utente distratto lasci libero accesso a eventuali malintenzionati che usano il suo computer

In questo tutorial vedremo come creare una semplice login facendo uso dei cookies, dove salvare i dati (username e password dell’utente). Vedremo inoltre quali sono le funzioni da usare per controllare i dati inviati.
In questo esempio di base, si presuppone che gli utenti siano già salvati in un database e che le loro informazioni siano contenute nei tre campi id, username e password. Il campo password contiene la password dell’utente criptata con l’algoritmo md5. Mostreremo solo il codice necessario: eventuali controlli aggiuntivi e la grafica sono a vostra discrezione.

Leggi Tutto >>