我們都知道當在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的區別。
PHP中禁用cookie後的session
我們知道當客戶端瀏覽器把cookie禁掉後,伺服器端的session是沒有辦法正常使用的。因為伺服器端的session是通過sessionid來區分不同使用者的session的,而這個sessionid就是通過客戶端的cookie傳遞到伺服器端的,更嚴格地說,因為在php使用session star...
瀏覽器禁用cookie後使用session
php中的session在預設情況下是使用客戶端的cookie來儲存session id的,所以當客戶端的cookie出現問題的時候就會影響session了。必須注意的是 session不一定必須依賴cookie,這也是 session相比cookie的高明之處。當客戶端的cookie被禁用或出現問...
禁用cookie後,如何使用session?
大家都知道,session的sessionid是通過cookie來儲存的,那麼如果我們的瀏覽器禁用了cookie,還可以使用session嗎?這道面試題是不是經常被問?你能答得出來嗎?禁用cookie後,session還是可以使用的。禁用cookie後,伺服器每次session start的時候都會...