Come dovrei memorizzare nomi utente e password per l'accesso utente usando php / cassandra?

3

Sono nuovo di NOSQL e Cassandra. Non sono sicuro di dover memorizzare nomi utente e password in Cassandra. Se dovessi, qual è il modo migliore per farlo? Sto ottenendo molte idee contrastanti dalla ricerca. Voglio configurarlo per ospitare un gran numero di utenti e poterlo accedere rapidamente. Pensa ad ospitare migliaia di pagine del profilo e aprirlo per aggiungere tutto il necessario in futuro.

So che Cassandra è in grado di coerenza finale. So che password e nomi utente e cose mi sono molto coerenti.

Il resto dell'applicazione / database non ha bisogno del livello di coerenza richiesto dal nome utente e dal sistema di login.

Devo fare due diversi database Cassandra? Posso installarlo tutto in un unico database Cassandra? Dovrei usare un diverso tipo di database per il login e poi fare in modo che Cassandra serva tutto il resto.

Ho fatto ricerche per giorni, ma niente di definitivo. Se qualcuno con esperienza può guidarmi nella giusta direzione per questo e darmi come un diagramma di come dovrei installarlo, sarei davvero grato.

    
posta Nick 11.02.2016 - 03:10
fonte

1 risposta

-1

In risposta alla tua domanda, a meno che tu non abbia davvero bisogno del tuo login, devi consentire agli utenti di accedere con OpenID. In caso contrario, decidi tu stesso come memorizzare le password (prova a non memorizzarle come qualsiasi altro sito) con questa regola

  • Due utenti con la stessa password NON dovrebbero avere lo stesso hash della password. Questo può essere ottenuto concatenando un ID univoco (non il modo migliore), il loro nome utente (SMF) o usando la salatura in qualunque algoritmo tu stia usando.

Questo è estremamente importante, perché anche se non dovresti avere perdite, davvero non vuoi lo stesso problema di Adobe con le loro password perché non erano salate e le persone erano in grado di raggruppare gli utenti password e utilizzare suggerimenti / altre informazioni per risolverli. In insiemi di dati abbastanza grandi come questo, è possibile raggruppare per password e trovare utenti che sono tutti di nome Jack Smith e nati nel 1992, il che vi darebbe un'idea di quale sia la loro password. Assicurati di usare qualcosa di relativamente sicuro (come in, non usare MD5), SHA512 non è così sicuro e idealmente vuoi usare bcrypt (se stai usando PHP) o qualcosa progettato per questo.

Ancora una volta, troverai MySQL molto più semplice (usa PHP Data Objects!) e le altre piattaforme di database. Personalmente non ne so molto di NoSQL, tuttavia immagino che faccia ciò che fanno gli altri database "scalabili" del giorno, come lasciare i controlli di integrità, non scrivere su disco (hah, Mongo) e varie altre piccole cose che, hanno i loro problemi con la scalabilità e problemi con la realtà.

Direi che non dovresti preoccuparti della scalabilità di MySQL, alla fine della giornata, se il tuo progetto ha bisogno di un server MySQL più potente dato che tutto è già configurato con MySQL, puoi semplicemente utilizzare Google Cloud SQL o molti altri soluzioni in fase di sviluppo.

    
risposta data 02.10.2016 - 13:29
fonte

Leggi altre domande sui tag