Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    Campo password e funzione PASSWORD()

    In una tabella di autenticazione utilizzo spesso il campo 'password' per storare le password degli utenti.
    Prima di salvarle le cripto (di solito con blowfish, così posso ancora recuperare il dato).

    Le domande sono 2:

    1) non ho avuto mai problemi con il campo 'password', ma è consigliabile utilizzare un altro nome perchè ci sono rischi di conflitti con il nome della funzione o altro di MySQL?
    2) ho visto che c'è anche una funzione di MySQL (PASSWORD()) che cripta i dati; qualcuno la utilizza? ha senso utilizzarla?

    grazie
    ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469

    Re: Campo password e funzione PASSWORD()

    Originariamente inviato da aasmdaa
    In una tabella di autenticazione utilizzo spesso il campo 'password' per storare le password degli utenti.
    Prima di salvarle le cripto (di solito con blowfish, così posso ancora recuperare il dato).

    approccio totalmente errato dal punto di vista della sicurezza
    Le domande sono 2:

    1) non ho avuto mai problemi con il campo 'password', ma è consigliabile utilizzare un altro nome perchè ci sono rischi di conflitti con il nome della funzione o altro di MySQL?
    no
    2) ho visto che c'è anche una funzione di MySQL (PASSWORD()) che cripta i dati; qualcuno la utilizza? ha senso utilizzarla?
    Alla seconda domanda "no".
    Anzi mi correggo, sì di sicuro

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Rispondo con altre domande...

    1) perchè approccio totalmente errato? Con 2000 utenti dove fai lo storage delle loro passwords?

    2) alla seconda risposta immagino tu intenda che sia del tutto sconsigliabile? Perchè?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da aasmdaa
    Rispondo con altre domande...

    1) perchè approccio totalmente errato? Con 2000 utenti dove fai lo storage delle loro passwords?
    In 2000 hash delle password.
    Correntemente amministro un sito con 400.000 utenti, e finora non ho avuto questo genere di problema.

    2) alla seconda risposta immagino tu intenda che sia del tutto sconsigliabile? Perchè?
    non so, non sono esperto di queste cose
    comunque forse, e dico forse, password() calcola proprio un hash, quindi fa il contrario di quello che vorresti fare (e fai da quanto ho capito).

    non è in ogni caso la funzione hash che preferirei, o meglio la preferirei se sapessi cos'è una funzione hash

    anche il manuale la sconsiglia
    The PASSWORD() function is used by the authentication system in MySQL Server; you should not use it in your own applications. anche se non sono sicuro bene di sapere il perchè

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    1) ma una curiosità allora: 400000 utenti che immagino avranno le loro password. se non sono indiscreto come le salvi? e dove?

    2) ok

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da aasmdaa
    1) ma una curiosità allora: 400000 utenti che immagino avranno le loro password. se non sono indiscreto come le salvi?
    saltate ed hashate
    e dove?
    nel db

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    scusa sarò un po' gnucco ma da quanto ho capito per te:

    1) le password non andrebbero criptate ma salt-ate (che se non erro è una criptatura, ma ho cercato ma non ho capito bene il significato) ed hash-ate
    2) questo deduco perchè la criptatura è reversibile mentre l'hash (e salt che sia) no
    3) questo esempio l'ho preso dal sito ufficiale. Intendi una cosa simile?

    Codice PHP:
    <?php
    function eliteEncrypt($string) {
        
    // Create a salt
        
    $salt md5($string."%*4!#$;\.k~'(_@");
       
        
    // Hash the string
        
    $string md5("$salt$string$salt");
       
        return 
    $string;
    }
    ?>
    4) Così però non potrai mai recuperare la password

  8. #8
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Originariamente inviato da aasmdaa

    4) Così però non potrai mai recuperare la password
    Certo, e la sicurezza (o perlomeno parte di essa) sta proprio in questo
    Se un utente se la dimentica ne viene generata una nuova (che poi lui potrà cambiare, etc) ma non si va a recuperare la vecchia perchè come la recuperi tu (gestore ufficiale del sito e del db) la potrebbe recuperare anche chi, illegalmente, riuscisse ad accedere al tuo db

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ok tutto chiaro. In effetti sui siti per utente finale utilizzo sempre sha mentre uso blowfish su quelli intranet (perchè di solito l'amministratore chiede sempre di avere la possibilità di ottenere le password degli utenti).

    A questo punto se mi chiarite anche il punto 3... ;-)

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da aasmdaa
    Ok tutto chiaro. In effetti sui siti per utente finale utilizzo sempre sha mentre uso blowfish su quelli intranet (perchè di solito l'amministratore chiede sempre di avere la possibilità di ottenere le password degli utenti).
    L'amministratore (o chiunque altro) MAI deve avere la possibilità di ottenere le password degli utenti, a norma DPS.

    O forse sì, non lo so
    A questo punto se mi chiarite anche il punto 3... ;-)
    si avvicina abbastanza a quello che si fa normalmente, a parte non usare md5 e non usare salt statici

    i "sali" sono delle porzioni aggiunte alla password per rendere più difficile usare attacchi a dizionario.
    Se l'utente mette come password "pippo", è banale trovarla.
    Se ci metti un sale superantani otterrai una password superantanipippo, ben più resistente a questo attacco.
    Ma sono sempre sali "statici", ed indipendenti, il che è male, o meglio può essere notevolmente rafforzato.

    o forse no, mi spiace ma non mi intendo molto di queste cose.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.