Vorrei iniziare affermando di conoscere i vantaggi di un database ma non è questa la domanda. Voglio sapere se la sicurezza ha un senso con un ulteriore vantaggio della velocità.
Usando PHP 7.0,
Test 1: ho una configurazione del database con una tabella chiamata utente, con un campo id e una password per un esempio. Uso l'estensione PDO per interrogare il database tramite id. La richiesta ha preso o 0,0005719 microsecondi da completare.
Test 2: leggo un file locale che tutto ciò che contiene è un hash della password.
La richiesta richiede 0.00005912 microsecondi per essere completata.
Nota: in entrambi i casi le password vengono sottoposte a hash utilizzando la funzione hash della password di php. Poiché questo è un problema di sicurezza, anch'io voglio affermarlo. Anche per la concorrenza si presume che il file sia sicuro da leggere solo da una persona alla volta solo al login.
In ogni caso, come sarebbe usato per accedere solo, non ottenere dettagli, sarebbe sicuro? (I file NON sono archiviati nella web root). Quindi qualcuno avrebbe bisogno di un accesso al server, o il php che agisce da intermediario per leggere il file. Il database è mysql e richiede un login al server più login mysql.
Domanda: i vantaggi di velocità per l'utilizzo di un file anziché di un database giustificano buoni motivi per l'utilizzo di un file o per tenerlo nel database? Questo pone qualche rischio per la sicurezza in un ambiente di produzione?
Aggiornamento - 23-02-2017 Lasciatemi dire alcune cose. 1, Un utente "completo" non è memorizzato nel file, solo una password già hash. Non c'è bisogno di indicizzatori perché quando un utente accede a un hash md5 del nome utente verrebbe indirizzato direttamente a un file sul sistema locale. (Il nome utente non può essere modificato). Ciò consentirebbe l'accesso rapido, senza una query del database. 2, Il test è stato condotto con i dati già memorizzati appena il tempo è stato testato i dati. 3, è microsecondi, come da php microtime. L'operazione è stata ripetuta 100 volte, quindi è stata presa una differenza e una media. 4, questo è strettamente ipotetico.