Ho accesso utente ma l'utente può accedere con modalità maiuscole e minuscole Indica se la password è 'test', quindi l'utente è in grado di accedere con la password 'TEST'.
Voglio evitare l'autenticazione del tipo sul campo password.Come utilizzare la distinzione tra maiuscole e minuscole per il campo della password MySQL?
risposta
Il modo più semplice è quello di utilizzare la parola chiave binary nel vostro uso query:
SELECT /*fields*/ FROM table WHERE /* where clause */ BINARY password = "userpassword"
O
utilizzare il strcmp nel codice PHP:
È possibile utilizzare questo anche se si memorizza hash o password crittografata che consiglio.
Immagino che stiate memorizzando le password in chiaro. Questo non è solo abbastanza insicuro, è anche inutile nella maggior parte delle situazioni. Il mio consiglio è quello di memorizzare le password in due colonne, ad esempio:
password_salt VARCHAR(16)
password_hash VARCHAR(40)
Prima di riporre una nuova password, prendere la password fornita dall'utente ($clear_password
), creare una stringa casuale ($salt
) e utilizzare sia per creare un hash (sha1sum($salt . $clear_password
). Conservare sia il sale e l'hash e scartare la password chiara.
Per convalidare una password, recuperare il sale memorizzato per l'utente specificato, generare l'hash e verificare se corrisponde all'hash nel DB.
Questa tecnica è denominata salted passwords.
- 1. PHP non fa distinzione tra maiuscole e minuscole?
- 2. Se MYSQL non fa distinzione tra maiuscole e minuscole, come funziona per il campo Password in Login?
- 3. OData e distinzione tra maiuscole e minuscole
- 4. Come utilizzare PHP strpos senza distinzione tra maiuscole e minuscole?
- 5. MySQL senza distinzione tra maiuscole e minuscole DISTINCT
- 6. Automapper - voglio distinzione tra maiuscole e minuscole
- 7. Elenco senza distinzione tra maiuscole e minuscole
- 8. AngularJs, senza distinzione tra maiuscole e minuscole
- 9. GetMethod senza distinzione tra maiuscole e minuscole?
- 10. come rendere la ricerca senza distinzione tra maiuscole e minuscole
- 11. Come rendere insensibile la distinzione tra maiuscole e minuscole?
- 12. javascript: ignorando la distinzione tra maiuscole e minuscole delle stringhe
- 13. Corrispondenza delle maiuscole senza distinzione tra maiuscole e minuscole
- 14. disattivazione della distinzione tra maiuscole e minuscole in
- 15. VB.net Seleziona la distinzione tra maiuscole e minuscole con
- 16. Selezione stringhe e distinzione tra maiuscole e minuscole
- 17. Come applicare la distinzione tra maiuscole e minuscole nei nomi di tabelle e colonne in MySql?
- 18. ORACLE 11g senza distinzione tra maiuscole e minuscole per default
- 19. Underscore.js Ordinamento senza distinzione tra maiuscole e minuscole
- 20. JPA2: senza distinzione tra maiuscole e minuscole come l'abbinamento ovunque
- 21. Come rendere String.Contains senza distinzione tra maiuscole e minuscole?
- 22. Come sostituire una stringa senza distinzione tra maiuscole e minuscole
- 23. Ricerca elenco senza distinzione tra maiuscole e minuscole
- 24. completamento scheda cshell, senza distinzione tra maiuscole e minuscole
- 25. Vincolo unico non sensibile alla distinzione tra maiuscole e minuscole
- 26. Forza localeCon riferimento alla distinzione tra maiuscole e minuscole
- 27. Rails routes.rb - Non sensibile alla distinzione tra maiuscole e minuscole
- 28. Ricerca senza distinzione tra maiuscole e minuscole in Mongo
- 29. JQuery: come faccio a selezionare un valore da una distinzione tra maiuscole e minuscole tra maiuscole e minuscole?
- 30. PHP: parametri senza distinzione tra maiuscole e minuscole
Grazie per la vostra pronta risposta la sua buona idea per i rischi per la sicurezza – SKu
@SKu Leggere prima questo - http://codahale.com/how-to-safely-store-a-password/. Usare sha1 non è abbastanza. –
buono per la sicurezza ma non deve fare nulla con la domanda no? – joel