Esercitazione 7
|
In questa esercitazione proviamo innanzitutto il colloquio con i server
SMTP e POP3 su selene. Collegatevi usando Linux, aprite una
shell e provate i seguenti comandi (seguite le istruzioni sui lucidi
della lezione precedente).
- per SMTP: telnet selene.educ.disi.unige.it 25
- per POP3: telnet selene.educ.disi.unige.it 110
Nell'interazione con il server SMTP, nella parte relativa al comando DATA
potete anche scrivere -
prima del messaggio vero e proprio -
degli header che andranno ad aggiungersi a quelli generati automaticamente
dal server stesso:
- l'header From: viene generato automaticamente e assume il valore
assegnato al comando MAIL FROM:
- l'header To: assume il valore assegnato al comando
RCPT TO:
- per associare un soggetto al vostro messaggio provate a scrivere
Subject: <soggetto del vostro messaggio> nella parte
DATA.
Nota: ogni volta che eseguite un comando telnet su una porta,
vi viene assegnata automaticamente una "porta alta" sulla quale il vostro processo
client si pone in ascolto.
Se volete vedere il numero di porta, dopo aver lanciato il comando telnet,
provate ad usare il comando netstat (per una descrizione di questo
comando e dei suoi parametri digitate man netstat).
|
|
Esercizio: uso delle variabili di sessione
Riprendiamo l'argomento dell'Esercitazione 6: si
trattava di realizzare un servizio web per l'assegnazione e la modifica dei
login degli studenti.
Naturalmente, questo servizio deve essere ad accesso riservato.
Possiamo pensare di usare il meccanismo di autenticazione fornito dal web server
Apache (per qualche informazione guardate per esempio
Apache
Tutorial: .htaccess files oppure
Using
.htacces Files with Apache)
oppure costruire un controllo "da programma", usando le variabili di sessione.
- Scrivete un file PHP che presenta un modulo per inserire il login
e la password dell'amministratore del sistema.
- Se vengono inseriti i dati corretti, visualizzate la pagina dell'Esercitazione
6 che contiene il menu a tendina con l'elenco
degli studenti presenti nel database, ordinati per cognome e create una variabile
di sessione che gli altri file dovranno testare per vedere se l'utente è
un utente autorizzato (cioè l'amministratore di sistema).
- Se vengono inseriti dati errati, restituite un messaggio di errore.
Nota: anche i login e le password degli amministratori del sistema dovrebbero
essere memorizzati in un tabella di un database ma facciamo l'ipotesi semplificativa
di avere un solo amministratore di sistema. Perņ, invece di scrivere il suo login e la
sua password all'interno del file PHP che fa il controllo (pericoloso!!!), scriviamo
questi dati su un file di testo memorizzato su una directory al di fuori della radice
dell'albero visibile tramite web (nel vostro caso fuori dalla directory public_html).
- A questo punto dovete "proteggere" gli esercizi fatti nell'Esercitazione 6 per
renderli accessibili solo all'utente autorizzato.
Suggerimento: all'inizio di ogni file PHP dovete aggiungere il controllo
sulla variabile di sessione che viene creata al momento del login da parte
dell'amministratore.
|
|
|