<center id="iyacc"><source id="iyacc"></source></center>
  • <center id="iyacc"></center>
  • 
    
  • <ul id="iyacc"><delect id="iyacc"></delect></ul>
  • <strike id="iyacc"><code id="iyacc"></code></strike>
    <strike id="iyacc"><code id="iyacc"></code></strike>
  • <center id="iyacc"><dd id="iyacc"></dd></center><ul id="iyacc"><delect id="iyacc"></delect></ul>

    設(shè)置會話有效期

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

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

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

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

    2. 客戶端禁止Cookie當(dāng)客戶端禁用Cookie時,Session頁面間傳遞會失效,解決這個問題有4種方法。   

      ?在登錄之前提醒用戶必須開啟Cookie,這是很多論壇的做法。   

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

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

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

    【示例2】下面代碼演示了以第三種方法使用GET方式進(jìn)行傳遞:<form  method="post" action="session1.php?<?=session+name();?>=<?=session_id();?>">     用戶名:<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名稱$sess_id = $_GET[$sess_name];     //以GET方式獲取session_idsession_id($sess_id);             //把session_id值存儲到Session對象中session_start();$_SESSION["admin"] = "Mr";?>

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

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

    上一篇:傳遞會話

    下一篇:會話安全

    網(wǎng)站建設(shè)、抖音推廣、頭條推廣、微信朋友圈推廣、快手推廣專線:15368242187(微信同號)
    亚洲bt欧美bt中文字幕,囯产剧情亚洲精品无码一页,国产欧美va欧美va香蕉在,国产激情久久99久久 亚洲国产视频95 婷婷六月在线视频中文字幕
    <center id="iyacc"><source id="iyacc"></source></center>
  • <center id="iyacc"></center>
  • 
    
  • <ul id="iyacc"><delect id="iyacc"></delect></ul>
  • <strike id="iyacc"><code id="iyacc"></code></strike>
    <strike id="iyacc"><code id="iyacc"></code></strike>
  • <center id="iyacc"><dd id="iyacc"></dd></center><ul id="iyacc"><delect id="iyacc"></delect></ul>