Checklist per la sicurezza del codice web

Versionamento & DevOps
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

La sicurezza non è un plugin da installare alla fine. È una mentalità, un processo continuo, e soprattutto una responsabilità di chi scrive codice.

Un sito web o un’applicazione, anche ben progettata, può diventare un bersaglio se chi l’ha sviluppata ha sottovalutato alcuni passaggi.

Ecco quindi una checklist aggiornata per il 2025: una guida pratica e concreta per controllare se il tuo codice è davvero pronto per affrontare il mondo esterno, prima del deploy.

1. Input e validazione

Regola base: non fidarti mai dei dati in ingresso, da nessuna fonte.

  • Sanifica tutti gli input (form, query string, API…)

  • Usa whitelist e non blacklist

  • Valida i dati lato server, anche se già validati lato client

  • Evita eval() o exec() se non strettamente necessario

Tutto ciò che può essere manipolato… sarà manipolato.


2. Autenticazione & gestione sessioni

  • Usa password hashate con algoritmi sicuri (bcrypt, Argon2)

  • Proteggi le sessioni con cookie HttpOnly e Secure

  • Implementa logout automatico e gestione token (es. JWT)

  • Limita i tentativi di login (rate limiting, captcha)


3. Prevenzione XSS (Cross Site Scripting)

  • Escapa correttamente i dati prima di mostrarli in HTML

  • Non inserire contenuti dinamici non controllati nel DOM

  • Usa Content-Security-Policy per limitare gli script

  • Evita l’uso di innerHTML o document.write() se possibile


4. Prevenzione SQL Injection

  • Usa query parametrizzate o ORM

  • Non concatenare input utente nelle query

  • Valida sempre gli ID numerici e le stringhe

  • Disabilita la visualizzazione degli errori SQL in produzione


5. Gestione degli errori

  • Mostra messaggi generici all’utente finale

  • Logga internamente gli errori dettagliati

  • Non esporre stack trace o percorsi del server

  • Usa un sistema di log centralizzato (ex. Sentry, LogRocket)


6. Sicurezza HTTP & header

  • Usa solo HTTPS con certificato valido

  • Imposta gli header X-Content-Type-Options, X-Frame-Options, Strict-Transport-Security

  • Attiva SameSite=Strict per i cookie

  • Blocca il caricamento di risorse esterne non sicure


7. Permessi, ruoli e autorizzazioni

  • Controlla l’accesso lato server per ogni azione

  • Non basarti solo sul frontend per mostrare/nascondere contenuti

  • Isola le funzionalità per ruolo (admin, user, guest…)

  • Logga le operazioni sensibili (modifica dati, login, export…)


8. Testing di sicurezza

  • Fai un controllo con strumenti come OWASP ZAP o Burp Suite

  • Automatizza test di sicurezza nei CI/CD

  • Verifica dipendenze con npm audit, composer audit, Snyk, Dependabot

  • Aggiorna framework e plugin regolarmente


  • Checklist pronta all’uso (formato breve)

    Area Cosa controllare
    Input Validazione server-side, no eval()
    Auth/Session Hash sicuri, cookie protetti, rate limit
    XSS Escaping, CSP, no innerHTML
    SQL Injection Query parametrizzate, disabilita errori SQL
    Errori Logging interno, messaggi generici
    HTTP/HTTPS Header di sicurezza, forzare HTTPS
    Permessi Ruoli, ACL, log per azioni critiche
    Testing Scanner automatici, audit dipendenze, CI test

    Conclusione

    La sicurezza del codice non è solo compito del sysadmin o del plugin magico: inizia nel tuo editor, ogni giorno.

    Scrivere codice sicuro significa:

    • proteggere gli utenti

    • proteggere la tua azienda

    • dormire meglio la notte

    Una checklist come questa può aiutarti a non dimenticare nulla di fondamentale, e a fare un passo in più verso un web più sicuro.