• <abbr id="qqgmy"></abbr>
      <menu id="qqgmy"><abbr id="qqgmy"></abbr></menu>
    • <rt id="qqgmy"><code id="qqgmy"></code></rt>
      • 設(shè)置會(huì)話有效期

        • 2020-09-11 10:16:19
        • 閱讀次數(shù):
        • 作者:盈嵐科技小編
        • 來(lái)源:http://www.margaycoffee.com

        在大多數(shù)網(wǎng)站和應(yīng)用程序中需要限制會(huì)話的時(shí)間,如12個(gè)小時(shí)、一個(gè)星期、一個(gè)月等,這時(shí)就需要設(shè)置Session會(huì)話的有效期限,過(guò)了有效期限,用戶(hù)會(huì)話就被關(guān)閉。

        1. 客戶(hù)端沒(méi)有禁止Cookie使用session_set_cookie_params()設(shè)置Ses-sion的失效時(shí)間,此函數(shù)是Session結(jié)合Cookie設(shè)置失效時(shí)間,如果設(shè)置Session在1分鐘后失效,則實(shí)現(xiàn)的代碼如下:<?php$time = 60;session_set_cookie_params($time);session_start();$_SESSION["unsename"] = 'Mr';?>session_set_cookie_params()必須在ses-sion_start()之前調(diào)用。不過(guò)不推薦使用該函數(shù),此函數(shù)在瀏覽器上會(huì)出現(xiàn)問(wèn)題,所以一般手動(dòng)設(shè)置失效時(shí)間。

          【示例1】手動(dòng)設(shè)置失效時(shí)間的代碼如下:<?phpsession_start();$time = 60;setcookie(session_name(),session_id(),time()+$time,"/"); //手動(dòng)設(shè)置會(huì)話失效時(shí)間$_SESSION["unsename"] = 'Mr';?>session_name表示Session的名稱(chēng),ses-sion_id表示客戶(hù)端用戶(hù)的標(biāo)識(shí),因?yàn)閟ession_id是隨機(jī)產(chǎn)生的唯一名稱(chēng),所以Session是相對(duì)安全的,失效時(shí)間和Cookie的失效時(shí)間一樣,最后一個(gè)參數(shù)為可選參數(shù),是放置Cookie的路徑。

        2. 客戶(hù)端禁止Cookie當(dāng)客戶(hù)端禁用Cookie時(shí),Session頁(yè)面間傳遞會(huì)失效,解決這個(gè)問(wèn)題有4種方法。   

          ?在登錄之前提醒用戶(hù)必須開(kāi)啟Cookie,這是很多論壇的做法。   

          ?設(shè)置php.ini文件中的session.use_trans_sid = 1,或者編譯時(shí)打開(kāi)-enable-trans-sid選項(xiàng),讓PHP自動(dòng)跨頁(yè)傳遞session_id。   

          ?通過(guò)GET方法,使用隱藏域傳遞session_id。

              ?使用文件或者數(shù)據(jù)庫(kù)存儲(chǔ)session_id,在頁(yè)面?zhèn)鬟f中手動(dòng)調(diào)用。第二種情況比較被動(dòng),因?yàn)槠胀ㄩ_(kāi)發(fā)者是無(wú)法修改服務(wù)器中的php.ini配置文件,第三種情況就不可以使用Cookie設(shè)置保存時(shí)間,但是登錄情況沒(méi)有變化,第四種情況比較重要,特別是在企業(yè)級(jí)開(kāi)發(fā)中經(jīng)常使用到。

        【示例2】下面代碼演示了以第三種方法使用GET方式進(jìn)行傳遞:<form  method="post" action="session1.php?<?=session+name();?>=<?=session_id();?>">     用戶(hù)名:<input type="text" name="user" size="20"><br />     密 碼:<input type="password" name="password" size="20"><br />     <input type="submit" value="提交" /></form>

        然后,在session1.php文件中設(shè)置要接收ses-sion_id值,并進(jìn)行處理,示例代碼如下:

        <?php$sess_name = session_name();      //獲取Session名稱(chēng)$sess_id = $_GET[$sess_name];     //以GET方式獲取session_idsession_id($sess_id);             //把session_id值存儲(chǔ)到Session對(duì)象中session_start();$_SESSION["admin"] = "Mr";?>

        當(dāng)前文章標(biāo)題:設(shè)置會(huì)話有效期

        當(dāng)前URL:http://www.margaycoffee.com/news/wzzz/3275.html

        上一篇:傳遞會(huì)話

        下一篇:會(huì)話安全

        網(wǎng)站建設(shè)、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專(zhuān)線:15368242187(微信同號(hào))
        在线一区视频二区三区,av无码久久久不卡网站,亚洲国产人成精品,国产成人白丝视频
        • <abbr id="qqgmy"></abbr>
          <menu id="qqgmy"><abbr id="qqgmy"></abbr></menu>
        • <rt id="qqgmy"><code id="qqgmy"></code></rt>