1. 程式人生 > >禁用cookie後session是如何設定的(第一個)

禁用cookie後session是如何設定的(第一個)

我們都知道當在session 會話有基於cookie和基於url兩種傳遞SESSIONID的方法。為了實現客戶端禁止cookie傳送的情況也不影響客戶登陸網站,可以設定 php.ini中 session.use_trans_sid=1 ,表示當客戶端瀏覽器禁止cookie的時候,頁面上的連結會基於url傳遞SESSIONID。但是很多人僅僅設定了這一個選項並沒有達到效果,本人也 遇到此問題,後來一番研究發現
php.ini 檔案中還有兩個選項
session.use_cookies=1
session.use_only_cookies=1
仔細琢磨上面的英文就會發現其意義
session.use_cookies表示是否開始基於cookies的session會話
session.use_only_cookies 表示是否只開啟基於cookies的session的會話方式

所以如果想要在瀏覽器開啟cookie的時候用基於cookie的方式,在未開啟cookie的時候使用url的方式就進行如下設定(最常用的方式,推薦)
在php.ini檔案中
session.use_trans_sid=1
session.use_only_cookies=0
session.use_cookies=1
或者 在php程式中
ini_set(“session.use_trans_sid”,”1″);
ini_set(“session.use_only_cookies”,0);
ini_set(“session.use_cookies”,1);
如果不管瀏覽器是否開啟cookie,都使用url的方式就進行如下設定(這個例子主要想說明一下設定session.use_only_cookies 和 session.use_cookies的區別)
在php.ini檔案中
session.use_trans_sid=1
session.use_only_cookies=0
session.use_cookies=0
或者 在php程式中
ini_set(“session.use_trans_sid”,”1″);
ini_set(“session.use_only_cookies”,0);
ini_set(“session.use_cookies”,0);

動手自己試一試 你就會明白session.use_only_cookies 和 session.use_cookies的區別。