Ccookie被禁用session還能用麼?

2021-07-14 10:44:28 字數 1231 閱讀 1497

1.asp

在asp中,session必須倚賴cookie才可用,session是儲存在伺服器端的,而cookie是儲存在客戶端的,相對

而言,session的安全性和可靠程度都比cookie高。

2.php

在php中,通過相關的配置,可以讓session不依賴cookie而存在。

php.ini中,把session.use_trans_sid設成1,那麼連線的後面就會自己加sessionid,就通過url來傳遞

session的key了,這時客戶端就算禁止了cookie也可以使用session

這是因為:

session,儲存於伺服器端(預設以檔案方式儲存session),根據客戶端提供的session id來得到使用者的文

件,取得變數的值,session id可以使用客戶端的cookie或者http1.1協議的query_string(就是訪問的url的「

?」後面的部分)來傳送給伺服器,然後伺服器 讀取session的目錄

最後說明:

php.ini 中 session 的配置

session.use_only_cookies = 1; // 開啟僅使用cookies存放會話id

session.use_trans_sid = 1; // 允許sessionid通過url明文傳輸

在這種情況下雖然已經允許了sessionid通過url明文傳輸,擔是同時又開啟了僅使用cookies存放會話sessionid,所以在url中明文傳輸的phpsessionid引數值是無效的,session不能用。

php.ini 中 session 的配置

session.use_trans_sid = 0; // 禁止sessionid通過url方式明文傳輸

session 不能用, 這是最這安全的做法,也是php.ini 的預設配置

session機制

session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表的結構(也可能就是雜湊表)來儲存資訊。當程式需要為某個客戶端的請求來建立乙個session的時候,伺服器首先檢測這個客戶端的請求裡是否已經包含了乙個session標識-稱為session_id,如果包含則說明以前已經為此客戶端建立過session,伺服器就按照session_id把這個session檢索出來使用(如果檢索不到,可能為新建乙個),如果客戶端請求不包含session_id,則為客戶端建立乙個session並且生成乙個與此session相關聯的session_id,這個session_id將在本次響應中返回給客戶端。

mysql被禁用 mysql遠端訪問被禁止

遠端連線mysql伺服器的資料庫,錯誤 是1130,error 1130 host is not allowed to connect to this mysql server 猜想是無法給遠端連線的使用者許可權問題。這樣子操作mysql庫,即可解決。在本機登入mysql後,更改 mysql 資料庫...

QTTabBar載入項被禁用

win10系統的資源管理器雖然較以前有所改進,但還是令人不滿意,尤其開啟很多資料夾,切換不是非常方便。還好有qttabbar,它有別於其他產品,不是 另起爐灶 而是在系統的資源管理器上進行擴充套件。但最近老是出問題,主要表現是每次設定的bottom標籤,重啟資源管理器後都無效 選單中也比正常的少幾項...

SQL中sa被禁用

如果在安裝過程中選擇 windows 身份驗證模式 則 sa 登入將被禁用。如果稍後將身份驗證模式更改為 sql server 和 windows 身份驗證模式 則 sa 登入仍處於禁用狀態。若要啟用 sa 登入,使用 alter login 命令。sa 登入只能使用 sql 身份驗證連線到伺服器。...