2012-11-16 44 views
0

Cookie和會話是否相互依賴於PHP?Cookie和會話是相互依賴的嗎?

是否刪除或清除其中一個影響另一個?

是否通過禁用其中一個在瀏覽器中影響其他?

P.S.我是新手。

編輯:我在寫作問題時是新手。許多新手都面臨這個問題。

回答

1

他們是完全獨立 ...

  • Cookie不能存儲無限的價值,會話可以
  • 不能的數據,如果用戶瀏覽器的cookie被禁用,凡在會議上就可以了,因爲存儲在cookie會話ID可以附加到URL
  • 由於Cookie可以被緩和,因此存儲會話中的數據比存儲在cookie中更好
  • 如果您刪除cookie,那麼只有您網站中的這些功能會(1)
  • Cookie存儲在會話存儲在您的客戶端計算機上您的帳戶被禁用服務器
  • 如果您關閉瀏覽器,而餅乾呆在那裏,除非它們是由用戶手動或直到他們過期

Inshort刪除您在會議比餅乾已經更好地控制會話結束

(1)例如,如果您要設置cookie名稱demo並且您正在使用閃屏少,直到演示設置,你會顯示啓動畫面

if(!isset($_COOKIE['demo'])) { //Now this will show lightbox always if user has disabled his cookies 
    <script>...</script> 
} 

文章

http://www.klovera.com/php-sessions-vs-cookies/

參考

Session

Cookies

+0

清除了一些想法。我認爲cookie存儲會話ID。通過清除會話不會影響cookie。 –

+0

@SomnathMuluk如果你刪除會話cookie,你會註銷,但如果你刪除了一些其他的cookie,它不會影響會話,除非和直到你用它爲某種目的有點通過登錄檢查設置的cookie,我已經解釋過你,你應該閱讀我的回答 –

0

會話是存儲在服務器上,而cookie在客戶端上。您只能從瀏覽器中禁用Cookie。根本不影響會話。在禁用cookie的情況下會話ID通過URL傳遞。如果您的Cookie已啓用且會話ID通過刪除cookie存儲在cookie中,您將無法訪問您的會話(它仍然在服務器上,但無法訪問它)

此外,會話不能影響Cookie。

+0

我認爲cookie存儲會話ID。通過清除會話不會影響cookie。 –

0

他們沒有連接,但默認情況下PHP存儲cookie中的會話ID,該指令session.use_cookies如果禁用Cookie,它使用URL默認爲1

。這可以用session_use_trans_id.設置(默認禁用)

但是,如果你刪除客戶端上的會話cookie,到服務器的下一個請求將無法找到它的相關會議

結算會議將不會影響作爲cookie的cookie與來自客戶端的HTTP請求附加到服務器。可以將cookie設置爲在x時間後過期,然後在客戶端將其刪除。

0

所有的答案都是正確的,只是想補充一點 - 如果你沒有設置cookie的時間戳,那麼cookie依賴於會話,一旦會話結束,它就會過期。