Mysql
 sql >> Database >  >> RDS >> Mysql

Sicurezza di base, PHP mySQl

Alcune cose qui:

  1. Non lo stai davvero crittografando, lo stai hackerando. È facile confondere i neofiti, ma volevo solo toglierlo di mezzo.

  2. Non usare MD5, semplicemente non è un hash molto sicuro. Se possibile, usa invece una delle varianti SHA.

  3. Non limitarti a eseguire l'hashing della password, vorrai anche "salarla". Fondamentalmente ciò comporta l'aggiunta di una stringa casuale alla password prima di eseguirne l'hashing e la memorizzazione di quella stringa casuale da qualche parte dove è possibile recuperarla in seguito (in modo da poter convalidare l'hash quando l'utente inserisce la password). Questo aiuta a prevenire gli attacchi ai dizionari precalcolati.

Per quanto riguarda la generazione della password, penso che tu sia sulla strada giusta:lo genererei semplicemente quando creano il proprio account, glielo e-mail, quindi lo hash e memorizzerei l'hash (e un salt casuale) sul record dell'utente nel DB.