Dovendo realizzare un form per l'autenticazione attraverso PHP (su di un sito in hosting), ho cercato nel forum e nella rete il sistema più sicuro per gestire gli accessi. Ho trovato delle pillole e una guida (quella della sicurezza in PHP) che però trattano questo argomento solo marginalmente.
Da quanto ho capito:
I cookie preferisco non usarli sia perchè possono essere disabilitati dal browser, sia perchè poco affidabili in ambito di sicurezza. Ho dunque pensato di passare alle sessioni gestite da PHP, ma a quanto sembra ciò lascia aperte le porte a tutta una serie di possibili attacchi di hackers: è verosimile che tutti i file di sessione di tutte le applicazioni in hosting vengano salvati assieme. Di qui a che un'applicazione PHP bacata o appositamente studiata possa visualizzare il contenuto di ogni file il passo è breve. Di default, i file di sessione sono appunto salvati nella medesima cartella, col risultato che se uno script legge un suo file di sessione, allora quello stesso file viene letto da un qualsiasi altro script di una qualsiasi altra applicazione che giri sullo stesso Web server (quindi coi medesimi permessi). Facciamo allora un altro passo avanti nella ricerca della sicurezza e salviamo i dati di sessione direttamente su db, di modo che tali dati siano protetti da chiunque non abbia le credenziali necessarie per leggere su tabelle a noi riservate allo scopo.
E veniamo infine alla mie domande:
- Nella pratica cosa significa salvare le sessioni su di un DB? Come si realizza?
- E' veramente il più affidabile o esiste di meglio? HTTPS?
- Cosa devo NON fare in questo caso? Cosa lascia aperti buchi nella sicurezza?
Un sentito grazie a tutti quelli che risponderanno.