Maison  >  Questions et réponses  >  le corps du texte

php - Comment définir un nouveau session_id lorsqu'un cookie passe session_id

Développement de l'interface de l'application, les données utilisateur sont stockées dans la session. Je pensais que l'application n'avait pas de cookies, mais maintenant je ne sais pas si l'application a le même mécanisme de cookie que le navigateur. L'interface de demande d'application est livrée avec un jeton (. en fait, c'est session_id). Maintenant, l'application transmet à la fois le cookie et la publication, et si le cookie transmet le session_id, les données de session peuvent être obtenues en définissant manuellement le session_id. Je souhaite pouvoir définir manuellement session_id pour obtenir les données de session sans modifier la configuration du serveur ni désactiver les cookies.

    if($_REQUEST['token']){
        session_destroy();
        if($_REQUEST['token']){
            session_id($_REQUEST['token']);
        }
        session_start();
    }
大家讲道理大家讲道理2722 Il y a quelques jours750

répondre à tous(1)je répondrai

  • PHPz

    PHPz2017-05-31 10:35:08

    Il ne doit pas s'agir d'un développement natif, mais du chargement d'une vue Web, sinon cela n'a rien à voir avec les cookies, et le chargement d'une vue Web n'est pas différent de son ouverture dans un navigateur.
    Mais il devrait être possible d'ajouter des jetons. Je pense que vous devriez ajouter le jugement ci-dessus à la classe de base de la requête, afin que les données transmises par le jeton soient les principales.

    if($_REQUEST['token']){
        //session_destroy();//这个不应该存在吧,因为token中的session id很有可能与cookie中的session id是一样的,如果直接销毁了,你指定session_id也没什么作用了,或者先判定下如果不一样再销毁
        if($_REQUEST['token']){    
            session_id($_REQUEST['token']);
        }
        session_start();
    }

    répondre
    0
  • Annulerrépondre