2013-05-02 74 views
-1

嗨,我是一名PHP程序員。 我在採訪中被問到客戶端的會話存儲在客戶端計算機上的瀏覽器/ cookie文件中,然後服務器如何識別從我自己的PC登錄的同一用戶,並且我必須僅顯示屬於對我來說? 請幫忙。如何確定服務器上的用戶會話

+1

http://stackoverflow.com/questions/2954879/how-session-works – 2013-05-02 06:17:36

回答

1

當您在系統(或會話開始)登錄,唯一的會話ID創建,它通常存儲在餅乾。這將識別您的瀏覽器。

服務器然後使用此會話ID從服務器獲取數據。

1

SESSION存儲在服務器端,而不是客戶端。

SESSION在客戶端存儲爲PHPSESSID作爲COOKIE用於標識各個用戶。

0

$ _SESSION變量存儲在服務器上,並在會話啓動時生成相應的session_id。在客戶端,cookie與該session_id完全相同。通過這種方式,瀏覽器可以識別服務器,並且服務器可以爲該會話/用戶釋放存儲在$ _SESSION中的正確信息。

0

會話存儲在服務器端。 和每次登錄會話生成一個唯一會話ID。 會話ID服務器標識用戶。 $ _SESSION是會話變量。

0
  • 會話以session_start()開始。如果實際會話沒有獨有的會話標識,php會生成一個並將響應發送給客戶端。瀏覽器將會話ID存儲爲cookie(如果允許)PHPSESSID,或者如果不是,則必須創建與查詢參數?PHPSESSID=uniquesessionid的每個鏈接。否則沒有一致的會話是可能的

  • 隨着每個請求會話cookie(如果允許)或查詢參數發送。 PHP使用此會話ID標識存儲在服務器端的數據,並且您可以通過$_SESSION陣列訪問。因此,您可以在會話數組中存儲用戶名或用戶標識。對於每個會話ID,會話數組都是唯一的。您只能訪問您從瀏覽器獲得的會話。

  • 在大多數服務器上,會話存儲在session.save_path中配置的路徑下的文件系統中。文件名通常是sess_uniquesessionid。您可以使用session_save_path()來確定此路徑,但也可以更改(如果您有權訪問目標路徑)。

  • 會話cookie /參數的名稱(標準:PHPSESSID)在php.ini中配置爲session.name。您可以使用session_name()確定並更改會話名稱。這是必須完成的,然後再致電session_start()

相關問題