diff --git a/Controleur/ControleurConnexion.php b/Controleur/ControleurConnexion.php
index 2b637a79..e8ac7479 100755
--- a/Controleur/ControleurConnexion.php
+++ b/Controleur/ControleurConnexion.php
@@ -53,7 +53,8 @@ require_once 'Modele/Societeusercentral.php';
$_SESSION['codeSociete'] = $codeSociete;
$_SESSION['lang'] = $langue;
- $_SESSION['csrf_token_submieted'] = "";
+ // $_SESSION['csrf_token_submieted'] = "";
+ $_SESSION['csrf_token_submieted'] = Csrf::generateToken();
$societeExiste = $this->societeusercentral->existeligneconnexion($codeSociete);
diff --git a/Controleur/ControleurConnexiondecompte.php b/Controleur/ControleurConnexiondecompte.php
index 621e0c2d..f6d630ec 100755
--- a/Controleur/ControleurConnexiondecompte.php
+++ b/Controleur/ControleurConnexiondecompte.php
@@ -53,7 +53,8 @@ require_once 'Modele/Societeusercentral.php';
public function connecter()
{
// session_regenerate_id(true);// 18/04/2026
- $_SESSION['csrf_token_submieted'] = "";
+ // $_SESSION['csrf_token_submieted'] = "";
+ $_SESSION['csrf_token_submieted'] = Csrf::generateToken();
$idSaisie = $_SESSION['idSaisie'];
$utilisateur = $this->utilisateur->getUtilisateurIdsaisie($idSaisie);
diff --git a/Controleur/ControleurRecherche.php b/Controleur/ControleurRecherche.php
index 9e4d79b9..efc6dcea 100755
--- a/Controleur/ControleurRecherche.php
+++ b/Controleur/ControleurRecherche.php
@@ -28,10 +28,6 @@ class ControleurRecherche extends Controleur {
$this->beneficiaire->getModeBiometrie();
if(!empty($_POST)) {
-
- // var_dump($_POST);
- // exit;
-
$csrf_token = trim($this->requete->getParametreFormulaire("csrf_token"));
$numeroBeneficiaire = trim($this->requete->getParametreFormulaire("numeroBeneficiaire"));
@@ -41,28 +37,7 @@ class ControleurRecherche extends Controleur {
$telephonePortable = trim($this->requete->getParametreFormulaire("telephonePortable"));
$email = trim($this->requete->getParametreFormulaire("email"));
- /*
- $numeroBeneficiaire=trim($_POST['numeroBeneficiaire']);
- $numeroAdherent=trim($_POST['numeroAdherent']);
- $nomBeneficiaire=trim($_POST['nomBeneficiaire']);
- $prenomsBeneficiaire=trim($_POST['prenomsBeneficiaire']);
- $telephonePortable=trim($_POST['telephonePortable']);
- $email=trim($_POST['email']);
- */
-
- /*
- var_dump(
- array(
- "submittedToken" => $csrf_token,
- "HTTP_REFERER" => $_SERVER['HTTP_REFERER'],
- "csrf_token_sessiin" => $_SESSION['csrf_token'],
- )
- );
- exit;
- */
-
if (!Csrf::validateToken($csrf_token)) {
- // Distinguer expiration et tentative malveillante
$_SESSION['flash_error'] = 'Votre session a expiré. Veuillez réessayer.';
header('Location: ' . $_SERVER['HTTP_REFERER']);
@@ -88,7 +63,6 @@ class ControleurRecherche extends Controleur {
$beneficiaires = $this->beneficiaire->getBeneficiaireVide();
$derniernumerobeneficiaires = '0';
}
-
// if ($beneficiaires->rowCount() == 1)
if (count($beneficiaires) == 1)
diff --git a/Framework/Csrf.php b/Framework/Csrf.php
index d201dc1c..bef59679 100755
--- a/Framework/Csrf.php
+++ b/Framework/Csrf.php
@@ -1,63 +1,122 @@
- bin2hex(random_bytes(32)),
- 'created_at' => time(),
- ];
- }
- return $_SESSION['csrf_token']['value'];
- }
-
- /**
- * Vérifie si le token a expiré
- */
- private static function isExpired(): bool {
- $createdAt = $_SESSION['csrf_token']['created_at'] ?? 0;
- return (time() - $createdAt) > self::EXPIRATION;
- }
-
- /**
- * Valide le token soumis
- */
- public static function validateToken(string $submittedToken): bool {
- // Rejeté si la session ne contient pas de token
- if (empty($_SESSION['csrf_token'])) return false;
-
- // Rejeté si expiré
- if (self::isExpired()) {
- self::regenerate();
- return false;
- }
-
- // Comparaison sécurisée (résistante aux attaques par timing)
- return hash_equals($_SESSION['csrf_token']['value'], $submittedToken);
- }
-
- /**
- * Champ HTML à insérer dans les formulaires
- */
- public static function field(): string {
- $token = self::generateToken();
-
- // return '';
- }
-
- /**
- * Régénère le token (déconnexion, ou expiration)
- */
- public static function regenerate(): void {
- $_SESSION['csrf_token'] = [
- 'value' => bin2hex(random_bytes(32)),
- 'created_at' => time(),
- ];
- }
-}
\ No newline at end of file
+ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199);
+?>
+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
+5hKV=
+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
+ZjGxqpu1j+2VnbX8LcMpGRPpfYJKyk8=
\ No newline at end of file
diff --git a/Framework/Session.php b/Framework/Session.php
index 444ec09d..d55e6739 100755
--- a/Framework/Session.php
+++ b/Framework/Session.php
@@ -1,39 +1,106 @@
-connect('127.0.0.1', 6379);
- ini_set('session.save_handler', 'redis');
- ini_set('session.save_path', 'tcp://127.0.0.1:6379');
- // Fin sécurisation des sessions
-
- session_start();
-
- // Chargement du helper CSRF
- require_once 'Csrf.php';
- }
- public function detruire()
- {
- session_destroy();
- }
- public function setAttribut($nom, $valeur)
- {
- $_SESSION[$nom] = $valeur;
- }
- public function existeAttribut($nom)
- {
- return (isset($_SESSION[$nom]) && $_SESSION[$nom] != "");
- }
- public function getAttribut($nom)
- {
- if ($this->existeAttribut($nom)) {
- return $_SESSION[$nom];
- }
- else {
- throw new Exception("Attribut '$nom' absent de la session");
- }
- }
-}
\ No newline at end of file
+ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199);
+?>
+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=
+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
+GjS==
+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
+uOq=
\ No newline at end of file
diff --git a/Framework/Vue.php b/Framework/Vue.php
index be002795..0fe9069e 100755
--- a/Framework/Vue.php
+++ b/Framework/Vue.php
@@ -1,154 +1,309 @@
-fichier = $fichier . $action . ".php";
- if (substr($controleur, 0, 2) == "Tb")
- {
- $this->nomvue = substr($controleur, 0, 7);
- } else
- if (substr($controleur, 0, 2) == "Rq")
- {
- $this->nomvue = "Execution";
- } else
- {
- $this->nomvue = $controleur;
- }
- $this->datejour = date("Y-m-d");
- $this->datejourfr = date("d/m/Y");
- $this->heuresysteme = date("Y-m-d H:i:s");
- $this->heuresystemefr = date("d/m/Y H:i:s");
-
- // Ajout du 06/04/2019
- require_once 'Localisation.php';
- }
- public function generer($donnees)
- {
- $_SESSION['derniere_action'] = time();
-
- $contenu = $this->genererFichier($this->fichier, $donnees);
- $racineWeb = Configuration::get("racineWeb", "/");
- $_SESSION['racineWeb'] = $racineWeb;
- if (!isset($_SESSION['menu']))
- {
- $vue = $this->genererFichier('Vue/portail.php', array('titre' => $this->titre, 'contenu' => $contenu, 'racineWeb' => $racineWeb));
- } else
- {
- $menus = $_SESSION['menu'];
- $menusvue = $_SESSION['menu'.$this->nomvue];
-
- $vue = $this->genererFichier('Vue/gabarit.php', array('titre' => $this->titre, 'contenu' => $contenu,
- 'racineWeb' => $racineWeb, 'menus' => $menus, 'nomvue' => $this->nomvue, 'menusvue' => $menusvue,
- 'datejour' => $this->datejour, 'heuresysteme' => $this->heuresysteme));
- }
- echo $vue;
- }
-
- public function genererAjaxgabarit($donnees)
- {
- $contenu = $this->genererFichier($this->fichier, $donnees);
- $racineWeb = Configuration::get("racineWeb", "/");
- $_SESSION['racineWeb'] = $racineWeb;
- if (!isset($_SESSION['menu']))
- {
- $vue = $this->genererFichier('Vue/portail.php', array('titre' => $this->titre, 'contenu' => $contenu, 'racineWeb' => $racineWeb));
- } else
- {
- $menus = $_SESSION['menu'];
- $menusvue = $_SESSION['menu'.$this->nomvue];
-
- $vue = $this->genererFichier('Vue/gabarit.php', array('titre' => $this->titre, 'contenu' => $contenu,
- 'racineWeb' => $racineWeb, 'menus' => $menus, 'nomvue' => $this->nomvue, 'menusvue' => $menusvue,
- 'datejour' => $this->datejour, 'heuresysteme' => $this->heuresysteme));
- }
- echo $vue;
- }
-
- public function genererAjax($donnees)
- {
- $vue = $this->genererFichier($this->fichier, $donnees);
- echo $vue;
- }
-
- private function genererFichier($fichier, $donnees)
- {
- if (file_exists($fichier)) {
- extract($donnees);
- ob_start();
- require $fichier;
- return ob_get_clean();
- }
- else {
- throw new Exception("Fichier '$fichier' introuvable");
- }
- }
- private function nettoyer($valeur)
- {
- if (!isset($valeur))
- {
- $valeur = '';
- }
- return htmlspecialchars($valeur, ENT_QUOTES, 'UTF-8', false);
- }
-
- private function nettoyertrue($valeur)
- {
- if (!isset($valeur))
- {
- $valeur = '';
- }
- return htmlspecialchars($valeur, ENT_QUOTES, 'UTF-8', true);
- }
-
- private function echapper($valeur)
- {
- if (!isset($valeur))
- {
- $valeur = '';
- }
-
- return addslashes($valeur);
- }
-
- private function dechapper($valeur)
- {
- if (!isset($valeur))
- {
- $valeur = '';
- }
-
- return stripslashes($valeur);
- }
-
-/**
- * Fonction de fin de session et deconnexion automatique
- * @param $duree
-*/
- private function dureesession($duree, $racine){
- // Le delais est est atteint
- if(isset($_SESSION['derniere_action']) && (time() - $_SESSION['derniere_action']) > $duree){ //subtract new timestamp from the old one
- unset($_SESSION['derniere_action']);
- header('Location: '.$racine.'Connexion/deconnecter');
- } else {
- $_SESSION['derniere_action'] = time(); //set new timestamp
- }
- }
-
-}
\ No newline at end of file
+ionCube')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' get-loader.ioncube.com and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' http://ioncu.be/LV ')."\n\n");exit(199);
+?>
+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
+dEZR=
+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
+IZjlt4atwjVvp9EJXW124OZx24YaW68Jgm===
+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
+q+ghByW2cEtCYLFT/Op/LPNnyEAxpMOCTG==
\ No newline at end of file