SECURE DESIGN
· Tutte le chiamate devono essere coperte da sessione quindi per accedervi sarà necessario l’utilizzo di utente e password o token per i servizi webservices
· In caso di applicazioni in dmz esposte su internet non potrenno comunicare direttamente con il database di dmoda che sara posizionato in una rete non raggiungibile dalla dmz ma potranno solamente ricevere le chiamate di aggiornamento proveniente da dmoda
SQL INJECTION
L’uso di LANSA riduce il potenziale rischio al caso rappresentato dal seguente esempio:
£STRSQL += " WHERE FIELD = '' AND FIELD2 = '" + £LANSAVAR + "'"
in cui la variabile LANSAVAR proviene da un form in cui l’utente è libero di inserire un input che va concatenato direttamente nella query l’utente potrebbe utilizzarlo per eseguire un attacco di sql injection.
Per evitare questo bisogna validare l’input ed utilizzare le funzioni di controllo al fine di minimizzare il rischio.
Cross Site Scripting (XSS)
Validazione lato server: Assicurati che tutti i dati inviati dagli utenti siano validati lato server. Questo include la verifica dei dati di input, come campi di testo, formattazione dei dati e dimensione dei file caricati. Implementa filtri di input per rile
Escape dei caratteri speciali: Prima di visualizzare i dati forniti dagli utenti, assicurati di codificare correttamente i caratteri speciali. Questo può essere fatto utilizzando funzioni di escape appropriate fornite dalla tua piattaforma o dal framework di sviluppo. Ad esempio, converti i caratteri "<" e ">" in "<" e ">", rispettivamente, per evitare l'iniezione di tag HTML non desiderati.
Sanitizzazione dei dati di output: Prima di visualizzare i dati forniti dagli utenti sulle pagine web, assicurati di sanitizzarli. Utilizza librerie o funzioni di sanitizzazione per rimuovere o neutralizzare i contenuti potenzialmente pericolosi, come script