Autenticare gli utenti (I Parte)
Pagina 1 di 4
Quello dell’autenticazione degli utenti è da
sempre un problema molto sentito da parte di tutti i
webmaster. Inibire l’accesso a determinate aree del
proprio sito può essere necessario per molteplici
motivi. I siti che offrono servizi a pagamento, ad esempio,
devono disporre di zone accessibili soltanto agli utenti
registrati. Chi crea delle aree di amministrazione per il
proprio sito (cosa molto comune, in PHP) avverte chiaramente
l’esigenza di proteggere le pagine con cui gestisce
tutto il sito.
Per questi e
per tanti altri motivi gli sviluppatori web si adoperano da
sempre creando script o sfruttando le caratteristiche dei
vari web server (Apache in primis) per proteggere files e
cartelle dei propri siti. Anche il PHP interagisce al meglio
con i web server (creando ad esempio dei file .htaccess di
Apache) e, cosa di cui tratteremo in queste pagine,
può inviare degli header HTTP al browser che
richiedano nome e password dell’utente. Sfrutteremo
questa caratteristica del PHP per richiedere i dati
dell’utente, che cercheremo poi in un database. Se
l’utente esiste permetteremo l’accesso,
altrimenti ne consentiremo l’iscrizione inserendo i
nuovi dati nel DB stesso. Per provare l’esempio di
queste pagine ci sarà bisogno di un webserver Apache,
del PHP e di MySQL. Troverete tutti i software necessari
nella sezione “Il meglio” del CD-Rom di questo
mese.
La tabella utenti
Visto che conserveremo in un database i dati degli utenti, la prima cosa da fare è di sicuro quella di creare il DB stesso e la tabella che conterrà tali dati. La struttura della tabella sarà molto semplice, formata da soli sei campi:
- Id – il campo che fungerà da contatore
- Nome – lo username scelto dall’utente in fase di registrazione
- Email – la sua e-mail, che servirà anche per inviare la password
- Password – il campo che conterrà la password
- Data – la data di registrazione
- Ip – l’indirizzo IP dell’utente al momento della registrazione

Dopo aver avviato il server MySQL (si può fare
riferimento all’altro articolo di pratica presente in
questo numero) apriamo una sessione di DOS e, dalla
sottocartella bin di MySQL, lanciamo il client digitando
mysql.
Il codice SQL da digitare per creare la nostra tabella (che
chiameremo anagrafica) è il seguente:
CREATE database utenti; USE utenti; CREATE TABLE anagrafica ( id int(3) NOT NULL auto_increment, nome char(8) NOT NULL default '', email char(255) NOT NULL default '', password char(8) NOT NULL default '', data char(255) NOT NULL default '', ip char(15) NOT NULL default '', PRIMARY KEY (id), UNIQUE KEY id (id), KEY id_2 (id) ) TYPE=MyISAM;
è possibile copiare il codice esattamente come lo si vede; battere il tasto invio alla fine di ogni riga, non dimenticando di digitare il punto e virgola alla fine, per dire a mysql che l’istruzione stessa è terminata. I nomi da attribuire al DB e alla tabella possono essere cambiati a seconda delle prorie esigenze; l’importante è specificarli nel file di configurazione che creeremo tra poco.
- Articolo precedente Programmazione Orientata ad Oggetti (Parte III)
- Articolo successivo Autenticare gli utenti (II Parte)