2010-12-18 87 views
19

您好我想知道一個php sessioncookie在php中session和cookie有什麼區別?

+7

@BoltClock是的,我們絕對需要在無辜的初學者身上看到更多的憤世嫉俗的低調語氣,以真正提升你的低自尊。 – KJW 2012-03-28 04:39:58

+0

[會話和Cookie在PHP中有什麼區別?](http://stackoverflow.com/questions/6339783/what-is-the-difference-between-sessions-and-cookies-in-php) – Quentin 2013-10-08 06:52:19

+0

@ cookie vs會話http://www.codingslover.com/2015/04/difference-between-cookies-and-sessions.html – Elangovan 2015-08-06 17:38:58

回答

8

一個cookie之間的差是一個〜一塊存儲在客戶端的數據。 存儲在會話中的數據存儲在服務器端,各種會話由cookie標識。

3

Cookie是用戶通過每個請求發送給Web服務器以識別他的唯一信息。這個唯一的ID可以用來在服務器(會話)上存儲關於這個特定用戶的信息。

26

主要區別在於會話數據存儲在服務器上,而cookie數據存儲在客戶端上。因此,客戶可以輕鬆修改cookie內容,但必須更加努力地修改會話內容。

+11

還有一些與此主題無關​​的內容:服務器處理會話幾乎總是依賴於cookie。會話cookie在服務器和客戶端之間反覆傳遞。 – clide313 2010-12-18 17:14:41

15

Cookie是一種將信息存儲在最終用戶瀏覽器中的方式,以便服務器可以跟蹤最終用戶。

會話也通過使用cookie來實現,但實際的數據不在瀏覽器中;相反,它存儲在服務器上的用戶會話記錄中。在會話中,Cookie用於在服務器記錄上標識特定的最終用戶的會話標識符。因此,它們是存儲用戶信息的更加安全的方式。

5

cookie通常用於識別用戶。 Cookie是服務器嵌入用戶計算機的小文件。每次同一臺計算機使用瀏覽器請求一個頁面時,它也會發送cookie。

會話變量用於存儲有關用戶會話的信息或更改用戶會話的設置。會話變量包含有關單個用戶的信息,並且可用於一個應用程序中的所有頁面。

+0

你需要調用session_start來使數據可用。 – Belinda 2011-11-07 13:52:02

+1

-1因爲這實際上並沒有說明差異。根據你的描述,會話變量可以存儲在cookie中(它們不是)。 – 2012-06-18 07:13:22

0

Cookie存儲在客戶端,但會話存儲在服務器端。

Cookie沒有退出您的電子郵件帳戶並關閉它。再次無法輸入用戶名和密碼,但您的電子郵件帳戶已打開。

會議接近的網頁再次開放起始頁面appier

+2

-1,因爲這是難以理解的。你需要澄清很多答案。例如,這是什麼意思:「Cookie沒有退出您的電子郵件帳戶並關閉它」? – 2012-06-18 07:15:23

0

最好的例子來說明這個差異的賭注。會話和Cookies是: - 當你登錄作爲,直到你註銷它創建會話任何網站... 是會話的成員..

和Cookies當您瀏覽的網站存儲在您的電腦主內存這是餅乾

即Session是服務器端 和餅乾是客戶端

+0

你知道每個人的位置有所不同,但你的例子不好 – PatomaS 2012-10-20 04:52:18

0

我們得到了一般三個差異。關鍵的區別在於cookie存儲在客戶端,會話存儲在服務器端。第二個區別是cookie只能存儲字符串。我們可以將會話中的對象存儲起來。根據我的經驗,在會話中存儲對象是非常有用的。另一個區別是我們可以保存cookie以備將來參考,但會話不能。當用戶關閉瀏覽器時,他們也失去了會話。

+0

-1:關閉瀏覽器後,會話可能不會丟失,請參閱php.ini中的'session.cookie_lifetime'和'session.gc_maxlifetime'設置。對象以序列化(即文本)形式存儲在會話中(請參見此處)(http://php.net/manual/en/intro.session.php),同樣的技術可用於Cookie。 – 2012-09-27 19:01:42

4

有會話和Cookie,都用於存儲值或數據。但會話和cookie之間有一些關鍵差異:cookie將數據存儲在瀏覽器中,會話存儲在服務器上。Cookie數據在您的瀏覽器中可用,直到瀏覽器運行可用的過期日期和會話數據,關閉瀏覽器後,我們將丟失會話信息。

+3

需要注意的是,指向會話數據的ID存儲在計算機上的cookie中。 – 2012-09-29 16:18:32

1

Cookie只會在到期時間過期或者您明確清除瀏覽器的Cookie /緩存。即使在第二天打開瀏覽器後,Cookie仍會保留在系統中。 Cookie存儲在客戶端的系統中,因此它們不太安全。

會話將在其到期時間或瀏覽器已關閉時過期。由於會話存儲在服務器上,所以它更安全。

所以對於一個登錄模塊,應該使用

-1

Cookie的會話和餅乾的組合 - 在瀏覽器中存儲的數據和瀏覽器的相關和客戶端將只...例如,如果你嘗試登錄在用戶名和密碼的Gmail帳戶,輸入登錄成功,如果你關閉當前標籤,並在某個時候打開同一頁面後登錄頁面不會來它將直接打開登錄details.This是曲奇..

會話 - 在服務器端存儲的數據,例如與輸入登錄細節後的cookie示例相同,一旦關閉瀏覽器,您將收到通知成功,然後打開一段時間後會再次詢問日誌在細節(例如多購物也)

0

PHP會議

PHP具有內置的功能來保存會話變量。變量存儲在狀態文件中。這些狀態文件不需要顯式創建和管理。以下是保存和檢索會話變量值的步驟。

必須在發生任何打印輸出之前發出setcookie()命令,因爲cookie必須作爲HTTP標頭的一部分寫入。 PHP自動將任何HTTP_COOKIE字符串解析爲關聯數組$ _COOKIE。該cookie的值可以從cookie從而檢索:

$ _COOKIE [「some_var」]

2

會話和一個cookie之間的主要區別是,會話數據被存儲在服務器上,而餅乾店數據在訪問者的瀏覽器中。會話使用會話標識符來定位特定用戶的會話數據。此會話標識符通常存儲在用戶的網頁瀏覽器中的Cookie中,但需要更加安全的敏感數據(如用戶的ID,姓名等)始終保留在服務器上。

0

Cookie:用戶瀏覽器存儲的鍵/值對,可用於PHP中的超全局$ _COOKIE數組中。該cookie請求以明確定義的到期日期啓動。例如:

的setcookie( 'cookieName',$ SOME_VALUE,時間()+ 3600, 「/」, 「.example.com的」)

在下一服務器請求,$ _COOKIE [ 'cookieName']將可用。如果您使用瀏覽器工具查看cookie,它將有一個到期日期。

會話Cookie:與上述相同,但沒有過期日期定義。如果您使用相同的瀏覽器工具,則會說該cookie在會話結束時過期;這最終是關閉瀏覽器的時候。例如:

setcookie('cookieName',$ some_value);

PHP會話:一個服務器端機制,將一堆數據與會話ID相關聯。每次調用會話時,都會對其進行序列化/反序列化。這可能是更多的數據,而不僅僅是一個cookie支持的單個鍵/值對,但將數據與用戶關聯的方式是在其瀏覽器中創建包含會話ID的cookie(如上所述的常規或會話)。這樣,就可以根據該cookie的值爲給定用戶檢索正確的數據。