Home | Search | Help  
Home Page Università di Genova

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).
  1. per SMTP:     telnet selene.educ.disi.unige.it 25
  2. 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:
  1. l'header   From:   viene generato automaticamente e assume il valore assegnato al comando   MAIL FROM:
  2. l'header   To:  assume il valore assegnato al comando   RCPT TO:
  3. 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.

  1. Scrivete un file PHP che presenta un modulo per inserire il login e la password dell'amministratore del sistema.

    1. 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).

    2. 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).


  2. 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.


vai alla lezione precedente
torna alla prima pagina del corso
vai alla prossima lezione