Corso gratuito · Utenti iscritti · Lezione 5 / 10
Autenticazione, sessioni e ruoli
Implementare registrazione e login, poi provare che un lettore non possa pubblicare.
Redazione: Take Two · Pubblicato
Anteprima della lezione
Autenticazione e autorizzazione
Il login risponde a “chi sei?”. Il controllo del ruolo risponde a “puoi fare questa operazione?”. Il progetto rilegge il ruolo dal database e lo verifica sul server nelle rotte /edit e /save. Nascondere un pulsante è utile per l’interfaccia, ma non impedisce una richiesta costruita a mano. La registrazione ignora qualsiasi role ricevuto dalla form e crea sempre un member.
Password e ciclo di sessione
Il database conserva un hash prodotto da password_hash; password_verify controlla il login. Il riferimento usa Argon2id quando disponibile e il default PHP altrimenti. Limita la password a 12–72 byte per non ignorare suffissi nell’eventuale fallback bcrypt. Dopo il login rigenera l’ID di sessione e il token CSRF. I cookie sono HttpOnly e SameSite=Lax, Secure su HTTPS; l’inattività di un’ora richiede un nuovo login.
Cosa controllare nella pratica
- Registrazione non assegna ruoli privilegiati.
- POST non autorizzati o senza token: 403.
- Logout solo POST; sessione ruotata al login.
Continua con la lezione completa
Iscriviti gratis per accedere alla spiegazione completa, agli esempi, all’esercizio e alla soluzione commentata. Questa anteprima resta aperta a tutti.
Materiali del laboratorio · Versione 1
Il progetto di riferimento
Scarica il blog completo, con istruzioni in italiano e inglese, schema SQL, contratti per gli agenti, fixture inventate e test. L’interfaccia del blog di esempio è in inglese. Il codice è un laboratorio locale: recupero password, verifica email e MFA sono evoluzioni da affrontare prima di aprirlo a una community pubblica.
Download gratuito. Le lezioni complete richiedono un account Take Two gratuito. L’accesso a Codex dipende dal tuo piano.
Fonti e approfondimenti
- OpenAI · Codex CLI: setup and first task ↗
- OpenAI · Project instructions with AGENTS.md ↗
- OpenAI · Subagents and coordination ↗
- OpenAI · Non-interactive mode and structured output ↗
- Bootstrap · Getting started ↗
- Bootstrap · JavaScript and jQuery ↗
- jQuery · Official downloads ↗
- PHP · Password hashing ↗
- PHP · PDO prepared statements ↗
- PHP · Session security ↗
- OWASP · CSRF prevention ↗
- Turismo Roma · Roma Live calendar ↗
- Turismo Roma · Crawl rules ↗