summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDebulois <quentin@debulois.fr>2022-04-12 22:26:32 +0200
committerDebulois <quentin@debulois.fr>2022-04-12 22:26:32 +0200
commit8dea7146e3860bd5b98d68a610b53cf888ede0e9 (patch)
tree67841582a77d882229e2a884603d8435071be054
parent2923e6fca634231533cca11e43a9091344ff4ba5 (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.php4
-rw-r--r--Database/dbmain.php10
-rw-r--r--Database/meth_dbuser.php4
-rw-r--r--Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpgbin107544 -> 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
index 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
Binary files differ