php禁用cookie後session設定方法分析

2022-10-05 00:57:11 字數 1233 閱讀 1254

我們都知道當在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("seswww.cppcns.comsion.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","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

如果使用者禁止cookie,伺服器仍會將sessionid以cookie的方式傳送給瀏覽器,但是,瀏覽器不再儲存這個cookie 即sessionid 了,這時就需使用url重寫了 1.什麼是url重寫 瀏覽器在訪問伺服器上的某個位址時,不能夠直接寫這個元件的位址,而應該使用伺服器生成的這個位址。s...

禁用cookie後session的保持

我們都知道當在session會話有基於cookie和基於url兩種傳遞sessionid的方法。為了實現客戶端禁止cookie傳送的情況也不影響客戶登陸 可以設定php.ini中 session.use trans sid 1,表示當客戶端瀏覽器禁止cookie的時候,頁面上的鏈結會基於url傳遞s...