web-dev-qa-db-fra.com

PHP Problème de session de SameSite, la session ne fonctionne pas

J'espère que quelqu'un peut me donner des idées à mon problème. J'essaie d'appliquer un cookie de Samesite pour faire du travail de la session mais il semble que cela ne fonctionne pas. Le site visité HTML:

<iframe src="https://www.example.com/test/iframe.php"></iframe>

Site source iframe:

    <?php
    header('Set-Cookie: cross-site-cookie=PHPSESSID; SameSite=None; Secure');
    session_start();
    if(!isset($_SESSION['test'])){
        echo 1;
        $_SESSION['test'] = 'ee2';
    }else{
        echo $_SESSION['test'];
    }

Si je visite du site Web, je reçois toujours A cookie associated with a cross-site resource at https://www.example.com/ was set without the SameSite attribute. It has been blocked, as Chrome now only delivers cookies with cross-site requests if they are set with SameSite=None and Secure. Le message dans la console du navigateur et la session n'est pas enregistré.

Une chose étrange est que le cookie a été réellement réglé: -enter image description here

Est-ce que je manque quelque chose? Pourquoi est-ce que je reçois ce message dans la console si le cross-sites-cookie est défini et que pourraient être des raisons de la session de ne pas fonctionner? J'utilise PHP 7.1.33. Si j'ouvre Iframe directement, cela fonctionne et cela fonctionne également correctement si j'ouvre le site avec le navigateur où je n'ai pas activé le drapeau des cookies par défaut pour les tests.

8
JohnyFree

J'ai trouvé cela cela a fonctionné pour moi - Réglage de Samesite comme "Aucun" - et d'autres informations sur ce que cela signifie ici .

Apparemment, les navigateurs ne vous permettent plus de définir ce que vous voulez dans un iframe, j'essayais de gérer une session dans une iframe, chargée sur un domaine différent et tout en faisant cela, j'ai remarqué qu'une autre session était créée pour l'autre domaine. au lieu de ce que je chargeais dans l'iframe. Cela semble l'avoir réparé. Je teste toujours mais c'est la première chose qui a fonctionné depuis que j'ai commencé à chercher un correctif ce matin.

0
sitesalt