geUneBd($codeBdd); if(!$bdd) { $message = $codeLangue == 'en_US' ? "Entity not found!" : "Entité introuvable!"; afficherMessage("$message", "Erreur"); } $_SESSION['BdName'] = $bdd['BdName']; $_SESSION['BdLogin'] = $bdd['BdLogin']; $_SESSION['BdMdp'] = $bdd['BdMdp']; if($assure->existeligne($codeSociete)) { $fassureExiste = $assure->assureExiste($codeSociete, $idBeneficiaire); if(!$fassureExiste) { $message = $codeLangue == 'en_US' ? "Insured not found!" : "Assuré introuvable!"; afficherMessage("$message", "Erreur"); } $demande = $assure->checkdemandereconnaissancefaciale_id(); if(!$demande) { $message = $codeLangue == 'en_US' ? "No requests found!" : "Aucune demande trouvée!"; afficherMessage("$message"); } $idDemande = $demande["idDemande"]; $codeEtat = $demande["codeEtat"]; $demandeExpiree = $demande["demandeExpiree"]; $dateExpirationFr = $demande["dateExpirationFr"]; $dateExpirationEng = $demande["dateExpirationEng"]; $etatDemande = $demande["etatDemande"]; $etatDemandeEng = $demande["etatDemandeEng"]; $beneficiaire = $demande["beneficiaire"]; $prestataire = $demande["prestataire"]; $lienPhoto = $demande["lienPhoto"]; $attempts = $demande["attempts"]; $_SESSION['lienPhoto'] = $lienPhoto; $_SESSION['numeroBeneficiaire'] = $demande["numeroBeneficiaire"]; $_SESSION['login'] = $demande["numeroBeneficiaire"]; $_SESSION['attempts'] = $attempts; /* codeEtat libelle 6 Token déjà utilisé 3 Expiré 1 Vérifié 2 Echec 4 Erreur 5 Trop de tentatives 0 En attente */ if($codeEtat=="6") { $message = $codeLangue == 'en_US' ? "Token already used!" : "Token déjà utilisé!"; afficherMessage("$message", "Information"); } if($codeEtat=="3" || $demandeExpiree=="1") { // changer le status $assure->maj_demandereconnaissancefaciale("3"); // Expirée $message = $codeLangue == 'en_US' ? "Request expired since $dateExpirationEng !" : "Demande expirée depuis $dateExpirationFr !"; afficherMessage("$message", "Erreur"); } if($codeEtat=="1") { $message = $codeLangue == 'en_US' ? "Verification already completed!" : "Vérification déjà effectuée!"; afficherMessage("$message", "Information"); } $param_societe = $assure->get_parametres_societe($codeSociete); $_SESSION['dureeToken'] = $param_societe["dureeTokenReconnaissanceFaciale"]; $_SESSION['dossierPhoto'] = $param_societe["dossierPhoto"]; $_SESSION['nbTentative'] = $param_societe["nbTentativeBiometrie"]; $_SESSION['lienPhotoFace'] = $param_societe["lienPhotoFace"]; $maxAttempts = $_SESSION['nbTentative']; if($attempts>=$maxAttempts) { // changer le status $assure->maj_demandereconnaissancefaciale("5"); // Trop de tentatives $message = $codeLangue == 'en_US' ? "Too many attempts!" : "Trop de tentatives!"; afficherMessage("$message", "Erreur"); } // vérifier que la photo du bénéficiaire existe if ($_SESSION['lienPhoto']>" ") { $photo = $_SESSION['lienPhotoFace'].$_SESSION['lienPhoto']; if(!file_exists($photo)) { $_SESSION['lienPhoto'] = ""; } else { $_SESSION['photoAssureCrypte'] = decryptImage($photo); } } // KANE 04/03/2026 => Ne pas déployer prod.ini vers la PROD } function afficherMessage($message, $titre) { echo " $titre

$titre

{$message}

"; exit(); } // Chiffrer l’image au moment de l’upload (PHP) function encryptImage($sourcePath, $destPath) { $key = base64_decode(trim(file_get_contents('/var/www/keys/inter-sante-photo.key'))); $plaintext = file_get_contents($sourcePath); $iv = openssl_random_pseudo_bytes(16); $cipher = openssl_encrypt($plaintext, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); file_put_contents($destPath, $iv . $cipher); // concat IV + données } // Déchiffrer pour afficher la photo dans INTER-SANTE function decryptImage($path) { $key = base64_decode(trim(file_get_contents('/var/www/keys/inter-sante-photo.key'))); $data = file_get_contents($path); $iv = substr($data, 0, 16); $ciphertext = substr($data, 16); // return openssl_decrypt($ciphertext, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); return base64_encode(openssl_decrypt($ciphertext, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv)); } ?> INTER-SANTÉ - Vérification d'identité

🏥 INTER-SANTÉ

Vérification d'identité sécurisée

Prestataire :

Patient :

Compteur :

Demande Vérification du lien...

Instructions pour la vérification

  • Positionnez votre visage dans l'ovale
  • Assurez-vous d'être dans un endroit bien éclairé
  • Regardez directement la caméra
  • Restez immobile lors de la capture
  • Retirez lunettes de soleil, casquette ou masque
Positionnez votre visage dans l'ovale

Confirmez votre photo

Votre photo

Vérification de votre identité en cours...
Merci de patienter

❌ Erreur