&b=&c=&d= require __DIR__ . '/prospects_core.php'; // Destination neutre si les paramètres ont été trafiqués : ta page d'accueil // plutôt qu'une réponse d'erreur qui confirmerait la tentative au visiteur. const URL_REDIRECTION_SI_INVALIDE = 'https://mevelia-solutions.bzh'; $idProspect = filter_input(INPUT_GET, 'a', FILTER_VALIDATE_INT); $idDoc = filter_input(INPUT_GET, 'b', FILTER_VALIDATE_INT); $idCampagne = filter_input(INPUT_GET, 'c', FILTER_VALIDATE_INT); $signature = $_GET['d'] ?? ''; if (!$idProspect || !$idDoc || !$idCampagne || $signature === '') { header('Location: ' . URL_REDIRECTION_SI_INVALIDE, true, 302); exit; } $signatureAttendue = signerParametresDoc($idProspect, $idDoc, $idCampagne); if (!hash_equals($signatureAttendue, $signature)) { header('Location: ' . URL_REDIRECTION_SI_INVALIDE, true, 302); exit; } $pdo = getDbConnection(); $stmt = $pdo->prepare('SELECT PSP_CodeCampagne FROM ASP_Prospects WHERE PSP_Incr = ?'); $stmt->execute([$idProspect]); $prospect = $stmt->fetch(); $stmt = $pdo->prepare('SELECT DOC_URL, DOC_Libelle FROM ASP_Docs WHERE DOC_Incr = ?'); $stmt->execute([$idDoc]); $doc = $stmt->fetch(); if (!$prospect || !$doc) { header('Location: ' . URL_REDIRECTION_SI_INVALIDE, true, 302); exit; } journaliserOperation($idProspect, $prospect['PSP_CodeCampagne'] . '-LEC', $doc['DOC_Libelle']); header('Location: ' . $doc['DOC_URL'], true, 302); exit;