Changeset 79634 in spip-zone


Ignore:
Timestamp:
Dec 27, 2013, 12:24:25 AM (7 years ago)
Author:
cy_altern@…
Message:

pour eviter les problemes de partage des valeurs de cookie via le cache, bloquer le retour de #COOKIE pour les visiteurs non authentifies

Location:
_plugins_/balise_cookie
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/balise_cookie/cookie_fonctions.php

    r79633 r79634  
    66 * Compile la balise #COOKIE qui retourne la valeur d'un cookie préfixé
    77 * si il existe (sinon du cookie sans le préfixe)
     8 * Ne fonctionne que pour les visiteurs authentifiés
    89 *
    910 * @balise
     
    2930        }
    3031       
    31         // pour éviter les problèmes de valeur de cookie passé d'un utilisateur à l'autre via le cache
    32         // sur le modele de la balise #SESSION lever le drapeau d'invalidation du cache en fonction de la session
    33         $p->descr['session'] = true;
     32        // pour éviter les problèmes de valeur de cookie passé d'un utilisateur à l'autre via le cache:
     33        //  . retourne une valeur vide si pas de session
     34        //      . sur le modele de la balise #SESSION lever le drapeau d'invalidation du cache en fonction de la session
     35        if ($GLOBALS["visiteur_session"] == '')
     36                $p->code = "''";
     37        else {
     38                $p->descr['session'] = true;
     39               
     40                // si elle existe on récupère la valeur du cookie prefixe_nom_cookie
     41                // sinon on prend celle du cookie nom_cookie (qu'il existe ou non)
     42                $nom_cookie_pfx = "\$GLOBALS['cookie_prefix'].'_'.$nom_cookie";
     43                $nom_cookie = "(isset(\$_COOKIE[$nom_cookie_pfx]) AND \$_COOKIE[$nom_cookie_pfx] != '') ? $nom_cookie_pfx : $nom_cookie";
     44                $p->code = "entites_html(\$_COOKIE[$nom_cookie])";
     45        }
    3446       
    35         // si elle existe on récupère la valeur du cookie prefixe_nom_cookie
    36         // sinon on prend celle du cookie nom_cookie (qu'il existe ou non)
    37         $nom_cookie_pfx = "\$GLOBALS['cookie_prefix'].'_'.$nom_cookie";
    38         $nom_cookie = "(isset(\$_COOKIE[$nom_cookie_pfx]) AND \$_COOKIE[$nom_cookie_pfx] != '') ? $nom_cookie_pfx : $nom_cookie";
    39 
    40 /*      if ($p->etoile)
    41                 $p->code = "\$_COOKIE[$nom_cookie]";
    42         else
    43 */              $p->code = "entites_html(\$_COOKIE[$nom_cookie])";
    44 
    4547        $p->interdire_scripts = false;
    4648        return $p;
  • _plugins_/balise_cookie/lang/paquet-cookie_fr.php

    r79620 r79634  
    66
    77        // C
    8         'cookie_description' => 'Fourni les balises #COOKIE et #COOKIE_SET intégrées à la version 3.1.
     8        'cookie_description' => 'Fourni les balises #COOKIE et #COOKIE_SET
    99Utilisation:
    1010<code>#COOKIE{truc}</code> retourne la valeur du cookie "spip_truc"  (ou du cookie "truc" si celui "spip_truc" n\'existe pas).
     11/!\ Pour éviter les problèmes de partage des valeurs de cookie via le cache, cette balise ne fonctionne que pour les visiteurs authentifiés
    1112
    1213<code>#COOKIE_SET{truc,ma_valeur,ma_duree}</code> permet de créer le cookie "spip_truc" avec la valeur "ma_valeur" et la durée "ma_duree" (en secondes) avant expiration.
  • _plugins_/balise_cookie/paquet.xml

    r79620 r79634  
    22        prefix="cookie"
    33        categorie="outil"
    4         version="1.0.1"
     4        version="1.0.2"
    55        etat="dev"
    66        compatibilite="[3.0.0;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.