Sicurezza di una WebApp grazie alle sessioni

GException/ gennaio 5, 2017/ Developing/ 0 comments

Introduzione

Quando si programma una WebApp uno degli aspetti da tenere bene in considerazione è la sicurezza. Infatti, scoprire e neutralizzare tutte le vulnerabilità è ormai obbligatorio se volete che il vostro sito abbia un futuro.

Una dei primi aspetti di cui tener conto è sicuramente quello di rendere sicura la vostra area riservata, cioè quelle pagine web che volete siano visualizzabili solo da determinati utenti (magari dopo aver effettuato un login).

Tante volte, navigando sul web, vi sarà capitato di accettare le politiche sui cookie. Essi sono dei file salvati sul client che contengono informazioni sull’utente. Beh, essi non sono per niente sicuri nel vostro caso. Infatti, essendo salvati lato client è possibile crearli manualmente e riuscire ad accedere ad aree riservate senza autorizzazione.

Quindi come si fa a rendere sicure le nostre WebApp scritte in java? Esiste il meccanismo delle sessioni. Le informazioni, a differenza dei cookie, sono salvate lato server quindi sono molto più al sicuro.

Eh, come si implementano in java?

Implementazione

Partiamo dal principio, quindi dalla pagina HTML di login.

Lo step successivo è quello di creare la sessione relativa all’user che sta accedendo ad un area riservata.

Questa serlvet riceve i dati del form HTML e li aggiunge all’oggetto session. Le ultime due istruzioni servono per reindirizzare alla pagine dell’area riservata.
Manca la parte di controllo dei dati dell’utente con un Database, in quanto questa guida è incentrata sulla sicurezza delle aree riservate con le sessioni. Per una guida completa di un login sicuro, clicca qui.

Procediamo con vedere il codice della pagina riservata.

Questa pagina jsp (HTML + Java) dovrà fare dei controlli sugli attributi della sessione e stampare o meno il codice vero della pagina.

Una sessione può essere invalidata in due modi:
– chiusura del browser;
– tramite un’altra servlet;

Con il secondo modo non è necessario chiudere il browser e quindi si può continuare con la navigazione. La servlet di logout sarà la seguente.

Conclusione

Per qualsiasi dubbio potete contattarci utilizzando i commenti o le nostre pagine social.

Facci sapere cosa ne pensi con un commento!