[Développeurs] Comment récupérer le referrer après le consentement ?

Depuis sa version 3.0.0, le module propose l’API AcbReferrerCookie pour récupérer une information de provenance conservée avant le choix de consentement.

Dans la version 4.3.0, seule la partie hôte du référent est stockée, pas son URL complète. Cette information n’est disponible que si la requête a fourni un en-tête référent absolu valide et que le module a pu l’enregistrer avant qu’un choix soit déjà présent. getReferrer() renvoie null lorsqu’aucune valeur n’est disponible. Les premières versions de cette API pouvaient conserver l’URL complète : ne supposez pas un format identique dans toutes les versions.

L’API ne vérifie pas elle-même le consentement. Avant d’exploiter cette valeur dans votre traitement, vérifiez que le visiteur a autorisé votre module et les finalités concernées. Exemple d’utilisation :

// Vérifiez si le module est installé et activé
if (Module::isInstalled('pm_advancedcookiebanner') && Module::isEnabled('pm_advancedcookiebanner')) {
    // Récupérez une instance du module et assurez-vous que la version 3 ou supérieure est bien celle installée
    $moduleInstance = Module::getInstanceByName('pm_advancedcookiebanner');
    if (version_compare($moduleInstance->version, '3.0.0', '>=')) {
        // Récupérez le referrer et effectuez votre logique métier
        $referrer = AcbReferrerCookie::getReferrer();
        // [...]
// Une fois fait, vous DEVEZ supprimer le cookie pour éviter de rapporter plusieurs fois un même referrer AcbReferrerCookie::remove(); } }

Après traitement de la valeur, appelez AcbReferrerCookie::remove() comme dans l’exemple pour expirer le cookie et éviter de rapporter plusieurs fois le même référent. L’exemple ne remplace pas le contrôle de consentement propre à votre module.

Autres FAQ dans la même catégorie