- Competenza: Analizzare problemi e requisiti di un sistema informativo, individuando dati, vincoli e requisiti di sicurezza.
- Competenza: Progettare e realizzare applicazioni web che utilizzano basi di dati e procedure di autenticazione.
- Competenza: Applicare principi di sicurezza informatica nella gestione delle credenziali e dei dati personali.
- Competenza: Utilizzare linguaggi di programmazione per il web (PHP) e ambienti di sviluppo integrati (XAMPP).
- Competenza: Documentare in modo chiaro le scelte progettuali relative alla gestione dei dati utente e alla procedura di login.
Dati necessari per la login
La login è il processo con cui un sistema informatico riconosce un utente e gli consente di accedere alle risorse. Per funzionare correttamente, richiede almeno due categorie di dati:
Dati identificativi
I dati identificativi permettono al sistema di trovare l'utente nel database.
- Username: nome utente scelto dall'utente o assegnato dal sistema.
- Email: spesso usata come identificativo univoco.
- ID utente: codice numerico o alfanumerico interno (ad esempio matricola).
1.2 Dati autenticanti
I dati autenticanti servono a verificare l'identità dell'utente, cioè a dimostrare che chi sta effettuando l'accesso è davvero il proprietario dell'account.
- Password: la forma più comune di autenticazione.
- PIN: codice numerico, usato in alcuni sistemi.
- Token OTP (One Time Password): codice temporaneo usato in autenticazione a due fattori.
In un sistema base, i dati minimi per la login sono: username o email (identificativo) e password (dato autenticante).
| Dato | Categoria | Scopo |
|---|---|---|
| Username / Email | Identificativo | Individuare l'utente nel sistema. |
| Password | Autenticante | Verificare che l'utente sia autorizzato ad accedere. |
Dati necessari per il recupero password
Il recupero password è una funzionalità che consente all'utente di riottenere l'accesso al proprio account quando ha dimenticato la password. Per motivi di sicurezza, non è possibile mostrare la password esistente, ma si procede alla sua reimpostazione.
Dati di contatto
Servono per inviare il link o il codice di recupero.
- Email: indirizzo su cui viene inviato il link di reset.
- Numero di telefono: usato per inviare SMS con codici OTP (opzionale, ma molto diffuso).
Dati di sicurezza per il reset
Sono dati generati dal sistema per garantire che il recupero sia effettuato in modo sicuro.
- Token di recupero: stringa univoca e temporanea inserita nel link di reset.
- Codice OTP: codice monouso inviato via email o SMS.
- Data e ora di scadenza del token o del codice.
Questi dati non sono necessari per la login quotidiana, ma sono fondamentali per la procedura di recupero password.
Dati necessari per determinare il ruolo dell'utente
In molti sistemi (scolastici, aziendali, gestionali) non tutti gli utenti hanno gli stessi permessi. Per questo si memorizza un dato che identifica il ruolo o il livello di autorizzazione.
Dati di ruolo e permessi
- Ruolo: ad esempio admin, docente, studente, segreteria.
- Livello permessi: valore numerico o simbolico che indica il grado di autorizzazione (es. 0 = utente base, 1 = moderatore, 2 = admin).
- Gruppo o classe: utile in ambito scolastico per associare lo studente a una classe o a un corso.
Questi dati non servono per verificare l'identità dell'utente, ma per stabilire cosa può fare una volta autenticato:
- Un admin può gestire utenti e configurazioni.
- Un docente può inserire voti e materiali didattici.
- Uno studente può visualizzare voti, compiti e comunicazioni.
Altri dati utili in un sistema reale
Oltre ai dati strettamente necessari, un sistema può memorizzare altri dati per migliorare sicurezza, tracciamento e personalizzazione.
Dati di sicurezza aggiuntivi
- Data e ora dell'ultimo accesso: utile per controllare attività sospette.
- Numero di tentativi di login falliti: permette di bloccare temporaneamente l'account dopo troppi tentativi.
- Indirizzo IP dell'ultimo accesso: utile per analisi di sicurezza.
- Stato dell'account: attivo, bloccato, in attesa di verifica.
Dati di profilo e personalizzazione
- Nome e cognome: per visualizzare correttamente l'identità dell'utente.
- Foto profilo: elemento puramente estetico e identificativo.
- Preferenze: lingua, tema grafico, impostazioni personali.
5. Schema riassuntivo
| Categoria | Dati principali | Obiettivo |
|---|---|---|
| Login | username/email, password | Identificare e autenticare l'utente. |
| Recupero password | email/telefono, token, codice OTP | Consentire il ripristino sicuro dell'accesso. |
| Ruolo | ruolo, livello permessi, gruppo/classe | Determinare le azioni consentite all'utente. |
| Altri dati | ultimo accesso, tentativi falliti, preferenze | Migliorare sicurezza, tracciamento e personalizzazione. |
Questa distinzione aiuta a progettare sistemi più sicuri, più chiari e conformi ai principi di minimizzazione e protezione dei dati personali.