2013-08-06 46 views
0

由於我正在構建一個簡單的遊戲,因此即使他們離開,我也需要用戶保持沉默。出於安全原因,最好將cookies存儲在我自己的服務器上,以便用戶不能更改它們。這可能嗎?我可以在我自己的服務器上存儲會話cookie

我的一切存儲在會話變量中,如果用戶在鬥爭中,如果用戶做一些耗時等,他們不能在我的網站訪問其他的點,直到他們與以前的任務完成!這就是爲什麼我需要將這些信息存儲在我的會話cookie中!

如果這是不可能的,我想我將不得不這樣的事情存儲在我的數據庫,但是這將是一個很多我的手額外的數據庫操作的...

也可以我甚至在保存這些數據一個cookie,以便當用戶離開並返回時,會話仍將變量設置爲以前的數據?

+3

你甚至無法想象你的問題有多有趣。 –

回答

4

餅乾,顧名思義,是客戶端。因此,要以面值回答您的問題,您不能將它們存儲在服務器上。

然而,在服務器上,你可以會話信息。如果你需要它比典型的會話持續更長的時間,數據庫(恐怕)將是最好的選擇。

+0

只要腳本處於活動狀態,典型的會話只保存數據。一旦用戶離開,除了數據庫之外沒有別的辦法嗎? – Matic

+1

對於更多持久存儲,沒有。數據庫將是你最好的選擇;那麼您必須創建一種基於其登錄信息檢索特定用戶會話的方法。 –

+0

@downvoter:這個答案怎麼回事不對? –

0

如果用戶還沒有散盡的餅乾和沒有過期,會議將皮卡在你離開它(也​​假設在/ tmp中沒有會話的清理)。否則,它永遠不會成爲。他們繼續前進。他們已經改變了,不是嗎?

+0

我想這不是正確的方法,那麼我不希望用戶清理他們的cookies,並且當他們訪問頁面時,一切都將會消失。 – Matic

+0

@Matic幸運的是,用戶對此問題有自由意志。 –

+0

無法阻止用戶清除Cookie。如果你嘗試過,那會令人難以置信的令人毛骨悚然。他們清除它們,所以你會忘記它們,所以顯示你沒有導致我在歷史中指向你的網站的任何東西。 – Anthony

1

這是不可能的。會話cookie的思想是在瀏覽器中設置一個唯一的會話ID,以便在後端存儲會話數據(例如您提到的變量)。請參閱this stackoverflow問題的一些基本知識。

UPDATE:關於「多久是存儲在會話中的數據?」

這是對你的。根據需要設置會話超時,之後會話被銷燬。通常這可能是幾分鐘和30天之間的所有事情。在這段時間後,您沒有看到具有特定會話ID的用戶,會話將被刪除。如果用戶返回,直到會話過期的時間再次從零開始。

+0

但是這個數據在會話中保存了多長時間? – Matic

+0

是否有任何缺點讓我們說存儲一個會話14天,​​或者如果可能的話將會話存儲在數據庫中會更好 – Matic

+0

你真的沒有試着去理解你所得到的答案嗎?您應該閱讀一些關於會話和cookie的基本內容。並且兩次閱讀「你的常識」的答案,因爲我不確定,如果這也是你想要的。 –

0

因爲我建立一個簡單的遊戲,我需要當他們離開

我看不出邏輯在此聲明的用戶甚至保持登錄。
如果用戶離開,則不存在會話。

您可能需要別的東西。

相關問題