首頁  >  問答  >  主體

php - 在有cookie傳遞session_id的情況下,如何設定新的session_id

app介面開發,用戶資料存在sesssion裡了,一千以為app沒有cookie呢,現在不知ap竟然跟瀏覽器一樣的cookie機制,app請求介面都帶了token(其實是就是session_id),現在是app透過cookie和post把session_id都穿過過來了,而cookie傳了session_id的話在手動設定session_id是取得到sessio資料的。想在不修改伺服器配置,不停用cookie的情況下,能夠手動設定session_id取得到session資料。

    if($_REQUEST['token']){
        session_destroy();
        if($_REQUEST['token']){
            session_id($_REQUEST['token']);
        }
        session_start();
    }
大家讲道理大家讲道理2719 天前749

全部回覆(1)我來回復

  • PHPz

    PHPz2017-05-31 10:35:08

    應該不是原生開發,而是載入webview吧,否則和cookie沒有關係,而載入webview與瀏覽器開啟沒什麼差別。
    不過都加token的話應該是可行的,感覺應該在request請求基類中加入你上述的判定,這樣應該就能以token傳遞的資料為主了。

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

    回覆
    0
  • 取消回覆