我在每個請求上使用Zend_Session :: start(),因爲我需要保存各種請求之間的值(例如用戶和密碼以便在未來訪問數據庫時重用它)。Zend_Session其中是cookie?
我想知道,如果當我使用過Zend_Session :: start()創建的cookie,以及最重要的,我可以看到的是存儲位置的路徑(服務器和客戶端)。
我讀,其實使用會話涉及一個cookie的創建,但我不知道,如果同樣是看到了Zend_Session不錯,也有Zend_Http_Cookie
我在每個請求上使用Zend_Session :: start(),因爲我需要保存各種請求之間的值(例如用戶和密碼以便在未來訪問數據庫時重用它)。Zend_Session其中是cookie?
我想知道,如果當我使用過Zend_Session :: start()創建的cookie,以及最重要的,我可以看到的是存儲位置的路徑(服務器和客戶端)。
我讀,其實使用會話涉及一個cookie的創建,但我不知道,如果同樣是看到了Zend_Session不錯,也有Zend_Http_Cookie
Zend_Session組件擴展了標準的PHP會話功能,所以是啓動會話設置一個cookie。會話數據的存儲位置取決於您的配置,默認情況下數據存儲在文件中,其位置由配置值session.save_path
控制。
你通常不會存儲在會話密碼 - 一旦用戶通過驗證,你可能只是用戶名存儲在稍後訪問會話。如果您使用該組件,Zend_Auth將爲您處理所有這些事情。
忘掉Zend_Http_Cookie,它無關,與用戶的cookie。
所有會議需要一些方法使客戶端進行身份驗證。
含義,服務器將給予客戶機的密鑰(或會話ID),通常以cookie的形式,和鏈接(內部,在服務器側)會話變量到該ID。
當客戶端發送的請求時,它也與餅乾,它允許服務器以獲取與該ID相關聯的變量,並允許由程序員使用發送會話ID。
每個瀏覽器都改變cookie的路徑。
這意味着客戶端只有ID,客戶端不知道會話變量中是什麼,他看不到它們。
現在我不知道Zend的非常好,但我認爲Zend_Session
是會話,而Zend_Http_Cookie
是一個實際的cookie(其中變量本身的值存儲在cookie中)。不要將關鍵信息存儲在cookie中,因爲它易於閱讀和更改。
了Zend_Session使用正常的PHP EXT /會話功能在內部,所有熟悉的配置選項和設置應用(見http://www.php.net/session)
您也可以配置的Zend_Session
一些行爲使用Zend_Session::setOptions()
:
Zend_Session::setOptions(array(
'use_only_cookies' => 'on',
'remember_me_seconds' => 864000
));
謝謝!!如果我只保存用戶名到一個會話中,我可以在哪裏取密碼做一個連接數據庫? – 2012-02-29 20:18:17
這個想法是,只有在用戶通過身份驗證後(即他們已登錄),您纔會存儲用戶名。然後在隨後的請求中,您可以相信會話中的用戶名屬於當前用戶,因此您不需要密碼。 – 2012-02-29 20:22:09
好的,但在我的Web應用程序中,在後續請求中,我需要調用metod i5_connect($ user,$ pwd)從DB2獲取數據。我不需要密碼? – 2012-02-29 20:27:14