Voici donc la énième revanche de la question " comment faire fonctionner les cookies tiers dans Safari ", mais je la pose à nouveau car je pense que les règles du jeu ont changé, peut-être après février 2012. L'une des astuces standard pour obtenir des cookies tiers dans Safari était la suivante : utiliser du javascript pour POST vers une iframe cachée. Cela permettait de faire croire à Safari que l'utilisateur avait interagi avec le contenu tiers et donc d'autoriser la création de cookies.
I pensez à Cette faille a été comblée à la suite du léger scandale où il a été révélé que Google utilisait cette astuce avec ses publicités. Au moins, en utilisant cette astuce, j'ai été complètement incapable de définir des cookies dans Safari. J'ai trouvé quelques publications aléatoires sur Internet qui affirmaient qu'Apple travaillait à la suppression de cette faille, mais je n'ai trouvé aucune information officielle.
En guise de solution de repli, j'ai même essayé de redessiner le cadre principal de la tierce partie de manière à ce que vous deviez cliquer sur un bouton avant que le contenu ne se charge, mais même ce niveau d'interaction directe n'a pas suffi à faire fondre le cœur froid de Safari.
Quelqu'un sait-il avec certitude si Safari a effectivement comblé cette lacune ? Si oui, existe-t-il d'autres solutions de contournement (autres que l'inclusion manuelle d'un identifiant de session dans chaque requête) ?
23 votes
L'utilisation d'un iframe tiers qui nécessite des cookies est certainement no par définition une attaque de sécurité ! Nous gérons une boutique en ligne qui est utilisée dans une iframe sur une multitude de domaines différents, et nous avons toutes sortes de problèmes avec Safari ces derniers temps, donc je suis également très intéressé par la réponse à cette question (légitime).
14 votes
Presque tous ceux qui créent des applications Facebook ont ce problème avec Safari. Les applications Facebook fonctionnent dans une iframe et, par définition, elles proviennent toutes de tiers. C'est pourquoi la prise en charge de Safari pour les applications Facebook est un peu aléatoire : vous ne pouvez pas utiliser de cookies.
0 votes
Je n'arrive pas à reproduire ce problème sur safari 5.1.7. Il accepte le cookie de mon application facebook iframe avec le paramètre par défaut "pas de cookies tiers". Cependant, Chrome 19.0.1084.46, avec le même paramètre, bloque le cookie.
4 votes
Chrome 19+ avec l'option (heureusement) non par défaut "Bloquer les cookies tiers et les données du site" cochée est /même plus sévère/ que le paramètre par défaut de Safari "Bloquer les cookies des tiers et des annonceurs". Dans Chrome, même si vous visitez le domaine tiers et que des cookies sont configurés, ils ne seront pas transmis à l'iframe. L'utilisateur doit en fait ajouter une "exception" pour votre domaine dans ses paramètres de sécurité de Chrome.
0 votes
Que voulez-vous dire par "février 2012" ? S'agit-il d'un changement technique dans Safari ou d'un changement de loi ?