第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

PHP $_SESSION 和 $_COOKIE 奇怪的行為

PHP $_SESSION 和 $_COOKIE 奇怪的行為

PHP
ITMISS 2022-11-04 16:36:39
我正在嘗試將 COOKIES 安裝到我的網(wǎng)站中。我在 GitHub 上找到了一個(gè)腳本:https ://github.com/jotaroita/secure-login-php7-remember-register-resetpw我已經(jīng)實(shí)現(xiàn)了腳本,并且能夠登錄。我可以只使用 SESSION 登錄,或者我可以同時(shí)使用 SESSION 登錄并設(shè)置“記住我 -COOKIE”。為了測(cè)試 COOKIE,我將 SESSION 設(shè)置為 1 分鐘后過(guò)期。$expireAfter = 1;Senario:我登錄網(wǎng)站并勾選“記住我”。會(huì)話開(kāi)始并設(shè)置了 cookie。一切都很好!## last action: 1 seconds agoskip the cookie check: session already set我等待 60 秒并重新加載頁(yè)面。會(huì)話銷毀并且 Cookie 讀取:## last action: 108 seconds agosession destroy for inactivitycookie readcookie valid formatcookie right selectorcookie right tokenset a new token in DB and in cookiesession set<-在此消息中我可以輸出會(huì)話數(shù)據(jù):$_SESSION['user']始終但在我的其他頁(yè)面(home.php)$_SESSION['user']中是空的?!(我包括來(lái)自:check.php 的 SESSION 和 COOKIE 檢查)if(isset($_SESSION['last_action'])){返回 true如果我再等 60 秒并重新加載頁(yè)面,則if(isset($_SESSION['last_action'])){返回 false。但是現(xiàn)在$_SESSION['user']設(shè)置好了。如果我再等 60 秒并重新加載頁(yè)面。if(isset($_SESSION['last_action'])){返回真。但現(xiàn)在$_SESSION['user']是空的。主頁(yè).php<?php//START SESSIONsession_start();//CONNECT TO DB, SET HEADER, SET TIMEZONE, CHECK FOR LOGIN-COOKIESinclude("check.php");//CHECK IF SESSION EXISTif(!isset($_SESSION['user'])) {    $isSesstion = false;    header("Location: /index.php");}else{    $isSesstion = true;}.....那么,代碼有什么問(wèn)題?為什么每次刷新網(wǎng)頁(yè)時(shí) $_SESSION 都會(huì)充滿數(shù)據(jù)?為什么每次刷新頁(yè)面都不返回true?以及為什么 $_SESSION 一直在調(diào)試消息中攜帶數(shù)據(jù)......但它沒(méi)有被攜帶到 home.php 中?if(isset($_SESSION['last_action'])){session set ".$_SESSION['user']['usr_fname']."include(check.php");你需要更多的代碼嗎?只是要求它!
查看完整描述

1 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

我想我發(fā)現(xiàn)了問(wèn)題。


取消設(shè)置并銷毀會(huì)話后。我不得不開(kāi)始一個(gè)新的會(huì)話。

奇怪的是,這種情況每秒鐘才發(fā)生一次。但是添加session_start();解決了問(wèn)題!


if(isset($_SESSION['last_action'])){

  $secondsInactive = time() - $_SESSION['last_action'];


  $expireAfterSeconds = $expireAfter * 60;


  $debug.="last action: $secondsInactive seconds ago<br>";

  if($secondsInactive >= $expireAfterSeconds){

    //User has been inactive for too long.

    //Kill their session.

    session_unset();

    session_destroy();

    $debug.="session destroy for inactivity<br>";

  }  

}


...

session_start();

$_SESSION['user'] = $session_data;

...


查看完整回答
反對(duì) 回復(fù) 2022-11-04
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)