HOME
 
 
home corporate info portfolio
Web production Software development Hosting Networking Training Multimedia & Graphic lab
 
 
DISPLAY ARTICLES SORTING BY
   
  Programming
  Networking
  Design Style
* you are here
  Introduzione
  Esempio
  Lato Client - Richiesta Login
  La connessione
  Validazione del login - Lato Server
  Cifrature - Metodi ed Algoritmi
Lo script in PHP
AUTHOR PROFILE
  Go to the author info GO TO GHE AUTHOR INFO
  Mail to the author MAIL TO GHE AUTHOR
BOOKMARKS THE AUTHOR
  SourceForge SourceForge
 
the largest repository of Open Source code and applications available on the Internet. SourceForge.net provides free services to Open Source developers.
 
  Freshmeat Freshmeat
 
freshmeat maintains the Web's largest index of Unix and cross-platform software, themes and related "eye-candy", and Palm OS software. Thousands of applications, which are preferably released under an open source license, are meticulously cataloged in the freshmeat database.
 
  CERT® CERT
 
The CERT® is a center of Internet security expertise, located at the Software Engineering Institute, a federally funded research and development center.
 
  OpenBSD OpenBSD
 
The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system
 
 


FOCUS ON
PROGRAMMING
print document
download PDF
Flash & Php – Rendere sicure le autenticazioni.
Parte VII
Lo Script in PHP
Solitamente quando si gestisce un archivio utenti, lo si fa tramite database, in alcuni casi, quando si tratta di pochi dati, si potrebbe usare un file di testo. In questo esempio, useremo un array, che non è di sicuro la soluzione ottimale, ma ci consentirà di arrivare prima al nocciolo della questione senza dover affrontare le problematiche sul trattamento dei files in modo sicuro o sulla sicurezza dei dbms, che per essere trattate con accortezza allungherebbero inevitabilmente questo documento e potrebbero rendere più gravosa la comprensione dello stesso. In ogni caso, passare da un array ad un file o ad un database non è molto complicato e spero possiate leggerlo in una prossima revisione.
Utilizzeremo due tipi di codifica, MD5 e 3Des, il primo lo utilizzeremo per criptare le password, in quanto essendo un algoritmo ‘one-way’ garantisce la massima sicurezza in caso di furto del nostro script, l’hacker non potrebbe decriptare le password contenute in esso, poiché come abbiamo visto questo algoritmo non consente in nessun caso la decifratura del messaggio originale, nemmeno attraverso una chiave, mentre utilizzeremo il secondo, 3Des, per la codifica/decodifica delle informazioni, non possiamo utilizzare MD5 poiché in questo caso, dobbiamo aver la possibilità di decodificare le informazioni per poi rispedirle al client. Essendo Triple-Des un algoritmo a chiave privata, dovremo usare una parola appunto come chiave, e per evitare di utilizzare un valore in chiaro, useremo la stessa password dell’utente, per cifrare l’informazione.
Qualcuno si starà chiedendo, come sia possibile verificare la correttezza delle password inserite se quelle in archivio sono criptate e non è mai possibile decriptarle? Infatti. Il confronto non avverrà tra le password in chiaro, ma tra quelle criptate, e cioè, prima cripteremo quelle inserite dall’utente, e poi le confronteremo con quelle in archivio, praticamente lo script non confronterà Topo = Topo ma 090290932009 = 090290932009 il risultato sarà lo stesso, ma eviteremo di trattare valori in chiaro.
Passiamo ora alla spiegazione dello script allegato con questo documento (login.php):
//
// Script
//
Per dirlo in parole povere questo è quello che fa lo script:
Riceve i valori dal client
Cripta la password ricevuta con MD5
La confronta con quelle già criptate con MD5 nell’array
Se le password sono uguali
     Usa la password ricevuta come chiave per decriptare l’informazione con 3Des
     Invia l’informazione decriptata
Se le password non sono uguali
     Risponde al client con un errore
Fine
Se guardate con attenzione lo script noterete che non vi è nessuna informazione in chiaro, e quindi, anche venendone in possesso, un cracker non potrebbe utilizzarlo, in teoria potreste anche distribuire voi stessi lo script a dei vostri affiliati senza correre il rischio che questi possano accedere alle informazioni (se non tramite fortunati brute-force). Gli esempi di utilizzo sono molteplici e sono limitati soltanto dalla vostra fantasia, fatto sta che siamo riusciti a garantire una maggiore sicurezza senza compromettere il servizio.
  previous
1 2 3 4 5 6 7
   
  Introduzione
  Esempio
  Lato Client - Richiesta Login
  La connessione
  Validazione del login - Lato Server
  Cifrature - Metodi ed Algoritmi
Lo script in PHP
   
   * you are here
print document
download PDF

Web production Software development Hosting Networking Training
Multimedia & Graphic lab
privacy policy corporate info portfolio