diff options
| author | Debulois <quentin@debulois.fr> | 2022-04-12 22:26:32 +0200 |
|---|---|---|
| committer | Debulois <quentin@debulois.fr> | 2022-04-12 22:26:32 +0200 |
| commit | 8dea7146e3860bd5b98d68a610b53cf888ede0e9 (patch) | |
| tree | 67841582a77d882229e2a884603d8435071be054 | |
| parent | 2923e6fca634231533cca11e43a9091344ff4ba5 (diff) | |
Passage des mots de passe de DES par défaut en SHA512 pour etre compatible avec l'app
| -rw-r--r-- | Core/Functions/func_login.php | 4 | ||||
| -rw-r--r-- | Database/dbmain.php | 10 | ||||
| -rw-r--r-- | Database/meth_dbuser.php | 4 | ||||
| -rw-r--r-- | Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg | bin | 107544 -> 202720 bytes |
4 files changed, 9 insertions, 9 deletions
diff --git a/Core/Functions/func_login.php b/Core/Functions/func_login.php index bf593a3..77ab982 100644 --- a/Core/Functions/func_login.php +++ b/Core/Functions/func_login.php @@ -57,8 +57,8 @@ function login($cookie, $email = null, $pass = null, $remember = 0) { // on en génère un nouveau. if ($remember || $cookie) { $name = "autoLogin"; - // On génère une chaine de caractère aléatoire en supprimant les caractères spéciaux de base64. - $token = str_replace(["+", "/", "="], "", base64_encode(random_bytes(32))); + // On génère une chaine de caractère aléatoire de 32 bytes en supprimant les caractères spéciaux de base64. + $token = substr(str_replace(["+", "/", "="], "",base64_encode(random_bytes(64))) ,0 , 32); // On update le nouveau token. $dbuser->update_token_autologin($_SESSION["email"], $token); // Enfin on place l'ensemble sur le navigateur du client codé en base64. diff --git a/Database/dbmain.php b/Database/dbmain.php index 67f27a4..193c93a 100644 --- a/Database/dbmain.php +++ b/Database/dbmain.php @@ -21,8 +21,6 @@ class DbMain { // **************************************************************************** // Pour gérer si "en production" private $debug = True; - // Salt pour le chiffrement - private $salt = "t87RL7dKfaNAJKtCAR6cVFhEfkn7qBGW"; // Configuration du serveur MYSQL / MARIADB private $conn; private $host = "127.0.0.1"; @@ -191,9 +189,13 @@ class DbMain { } // Chiffre la data reçue + // https://www.delftstack.com/fr/howto/php/php-string-concatenation/ final public function crypt_pass($pass) { - $crypt = crypt($pass, $this->salt); - return $crypt; + // On génère une chaine de caractère aléatoire de 16 bytes en supprimant les caractères spéciaux de base64. + $salt = substr(str_replace("+", ".", base64_encode(random_bytes(32))), 0, 16); + // On configure pour avoir du SHA512 avec 10 000 tours (protection contre du bruteforce ex:hashcat) + $hash = crypt($pass, '$6'.'$rounds=10000'.'$'.$salt.'$'); + return $hash; } // Prépare la requète pour mitiger (se protéger) les injections SQL et diff --git a/Database/meth_dbuser.php b/Database/meth_dbuser.php index 5161a82..488d3e1 100644 --- a/Database/meth_dbuser.php +++ b/Database/meth_dbuser.php @@ -57,13 +57,11 @@ class DbUser extends DbMain { ".$this->tableUserAccount." WHERE email = ? "; - // Chiffrement du mot de passe - $crypt = $this->crypt_pass($pass); // Execution de la requète $result = $this->exec_cmd($reqCheckCredential, array($email))->fetchAll(PDO::FETCH_ASSOC); // Vérifiaction de correspondance email & pass foreach ($result as $rows) { - if ($rows["password"] == $crypt) { + if (password_verify($pass, $rows["password"])) { return $rows["userId"]; } } diff --git a/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg b/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg Binary files differindex 1a543f2..b236126 100644 --- a/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg +++ b/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg |
