Documentation Index
Fetch the complete documentation index at: https://lovable.generaltranslation.app/llms.txt
Use this file to discover all available pages before exploring further.
Non dimenticare di risolvere le segnalazioni del Security CheckerAssicurati di risolvere le segnalazioni del security checker integrato in Lovable prima di pubblicare la tua app online. Il security checker analizza automaticamente la tua applicazione e fornisce preziosi suggerimenti per migliorarne la sicurezza.
Comprendere l’architettura di Lovable
Salvo indicazioni contrarie, Lovable genera le applicazioni con la seguente architettura:- Frontend: applicazione TypeScript/React
- Backend: Supabase Edge Functions (funzioni serverless)
- Database: Supabase (PostgreSQL con funzionalità in tempo reale)
Sicurezza del frontend: mai fidarsi del codice lato client
La regola d’oro: il codice frontend è pubblico
Tutto il codice React viene eseguito nel browser dell’utente ed è intrinsecamente pubblico. Gli utenti possono ispezionare, modificare o aggirare qualsiasi codice frontend. Pertanto:- Non memorizzare mai segreti nel codice frontend - chiavi API, password o configurazioni sensibili
- Non eseguire mai la validazione nel codice frontend - la validazione lato client può essere aggirata
- Non fidarti mai dei dati provenienti dal frontend - valida sempre lato Edge Functions
Errori comuni di sicurezza del frontend
Esempi di prompt per validare e migliorare la sicurezza del frontend
Sicurezza del backend: sposta la logica di business nelle Edge Functions
Tratta le Edge Functions come il tuo livello API
- Autenticazione e autorizzazione
- Validazione e pulizia dei dati
- Logica di business e flussi di lavoro
- Integrazione con servizi esterni
- Elaborazione di dati sensibili
Best practices for Edge Functions
Cosa dovrebbero gestire le Edge Functions
- Verifica sempre l’identità degli utenti prima di consentire loro di eseguire azioni
- Controlla se gli utenti hanno le autorizzazioni corrette per operazioni specifiche
- Non dare mai per scontato che qualcuno sia autenticato solo perché lo dichiara
- Controlla tutti i dati in ingresso per assicurarti che siano nel formato corretto
- Rimuovi qualsiasi contenuto potenzialmente dannoso dagli input degli utenti
- Assicurati che i dati rispettino le regole di business prima di elaborarli
- Gestisci processi di business complessi come l’elaborazione degli ordini, il calcolo dei pagamenti o la registrazione degli utenti
- Gestisci le relazioni tra i diversi dati
- Coordina più passaggi in un’unica operazione
- Connettiti in modo sicuro a servizi di terze parti come sistemi di pagamento, provider email o API
- Mantieni al sicuro chiavi API sensibili e credenziali
- Gestisci in modo affidabile errori e timeout
- Elabora informazioni personali, dati finanziari o altri contenuti sensibili
- Applica la crittografia o altre misure di sicurezza quando necessario
- Registra gli eventi importanti per le verifiche di sicurezza
Vantaggi in termini di sicurezza delle Edge Functions
Esempi di prompt per Edge Functions sicure
Sicurezza del database: mantieni RLS semplice e attivalo fin da subito
Row Level Security (RLS) in Lovable
Pattern RLS comuni nelle app Lovable
- Gli utenti dovrebbero vedere solo il proprio profilo, le proprie impostazioni e i propri dati personali
- Pattern predefinito: “Gli utenti possono accedere solo ai propri dati”
- I membri del team possono vedere i dati di Progetto condivisi all’interno del loro team
- Pattern: “Gli utenti possono accedere ai dati dei team a cui appartengono”
- Post pubblici che chiunque può leggere, ma che solo i proprietari possono modificare
- Pattern: “Chiunque può leggere, solo i proprietari possono modificare”
- I dipendenti di un’azienda possono accedere ai dati dell’azienda
- Pattern: “Gli utenti possono accedere ai dati della propria organizzazione”
Verificare RLS nella tua app Lovable
- Verifica quali tabelle hanno RLS abilitato
- Assicurati che le tabelle con dati sensibili siano protette
- Assicurati che le tabelle con dati pubblici abbiano policy di lettura appropriate
- Verifica che gli utenti possano vedere solo i propri dati
- Controlla che i dati condivisi siano accessibili alle persone giuste
- Conferma che i dati pubblici siano visibili a tutti
- Tabelle senza RLS abilitato sui dati sensibili
- Policy troppo permissive che espongono troppi dati
- Policy mancanti per nuove tabelle o funzionalità
Esempi di istruzioni per la revisione RLS
Checklist rapida RLS
- Tutte le tabelle sensibili hanno RLS attivo
- Gli utenti possono accedere solo ai propri dati personali
- I dati condivisi hanno controlli di accesso appropriati
- Le nuove tabelle ricevono automaticamente criteri RLS
- I criteri sono semplici e facili da comprendere
Sicurezza dell’autenticazione: mantieni la logica lato server
La logica di autenticazione deve essere eseguita sul server
- Non fare mai affidamento sui controlli di autenticazione lato client - Gli utenti possono modificare il codice eseguito nel browser
- Valida i token sul server - Verifica sempre l’autenticazione nelle Edge Functions
- Mantieni la gestione delle sessioni lato server - Lascia che Supabase gestisca l’archiviazione sicura delle sessioni
- Non esporre mai i segreti di autenticazione - Le chiavi API e i token non dovrebbero mai raggiungere il frontend
Flusso di autenticazione sicura
Migliori pratiche per l’autenticazione
Validazione lato server:- Verifica sempre l’autenticazione dell’utente nelle Edge Functions prima di elaborare le richieste
- Controlla permessi e ruoli utente sul server, non nei componenti React
- Convalida i token di sessione contro il database o il servizio di autenticazione
- Usa la gestione delle sessioni integrata di Supabase per l’archiviazione sicura dei token
- Mostra l’interfaccia utente (UI) in base allo stato di autenticazione, ma non prendere mai decisioni relative alla sicurezza
- Reindirizza alla pagina di login quando le sessioni scadono, ma effettua prima la convalida sul server
Protezione dell’area di lavoro: proteggi le applicazioni interne
Assicurati che le app interne abbiano “Visibility” impostata su “Workspace”
Per le applicazioni che non dovrebbero essere accessibili pubblicamente:- Imposta la visibilità del Progetto per le app interne su “Workspace” nella dashboard del Progetto
- Verifica che non siano pubblicate su Internet
- Usa un’autenticazione adeguata per tutti gli strumenti interni
- Controlla regolarmente gli accessi alle applicazioni private
Riepilogo delle best practice di sicurezza
Flusso di lavoro di sviluppo
- Parti pensando alla sicurezza - Implementa RLS e autenticazione sin dal primo giorno
- Usa il Security Checker - Esegui regolarmente il Security Checker di Lovable
- Segui le raccomandazioni - Implementa tutti i suggerimenti relativi alla sicurezza
- Testa a fondo - Verifica che le misure di sicurezza funzionino come previsto
- Documenta le decisioni in materia di sicurezza - Tieni traccia delle scelte di sicurezza e delle relative motivazioni
Verifiche periodiche di sicurezza
- Rivedi le autorizzazioni delle Funzioni edge
- Verifica le policy RLS
- Controlla l’eventuale esposizione di Segreti
- Verifica i flussi di autenticazione
- Testa i controlli di accesso
Checklist di sicurezza generale
- Nessun segreto nel codice del frontend
- Tutta la validazione nelle Edge Functions
- Criteri RLS implementati e testati
- Autenticazione tramite metodi sicuri
- Applicazioni interne correttamente protette
- Strumento di verifica della sicurezza eseguito e raccomandazioni applicate
- Revisioni di sicurezza periodiche effettuate
Uso del controllo di sicurezza di Lovable
- Esegui il controllo di sicurezza nella dashboard del tuo progetto
- Esamina attentamente tutte le raccomandazioni
- Applica tempestivamente le correzioni suggerite
- Esegui nuovamente il controllo dopo aver apportato le modifiche
- Documenta eventuali eccezioni con una motivazione chiara