2012-07-16 137 views
1

我正在用PHP web服務編寫JQM web應用程序。用戶將能夠登錄並註冊他們購買了俱樂部的汽水等。這些信息將被存儲在數據庫中並最終被記帳。在jQuery Mobile和PHP中處理會話

爲了說明我想要做什麼:我已經將此作爲Android應用程序實現。我在Android應用程序中的「會話處理」包括將用戶的憑證簡單地存儲在Android的savedPeferences(持久本地存儲)中,然後在服務器上進行成功驗證。然後,隨後的每個服務器請求都將重新發送這些憑據,以便用戶只需登錄一次即可 - 首次運行應用程序時。

我想盡可能地模仿我的JQM應用程序中的這種行爲。理想情況下,用戶只能登錄一次,除非他們選擇註銷。

當談到網站編程時,我有點生疏,那麼最好的方法是什麼?沒有到期的烹飪?我是否使用PHP會話或處理JavaScript中的所有內容?

這是一個愛好項目;我比較喜歡過於安全和複雜的簡單解決方案。謝謝!

編輯:https://github.com/carhartl/jquery-cookie 也許這是保持用戶登錄的最簡單的方法..:閱讀小李的回答後,我碰到這個插件偶然?

回答

1

PHP會話將在設定的時間量後失效(取決於您的php.ini設置或任何運行時修改設置)。

您可以使用長期過期的cookies來保持登錄(通常,用戶在登錄時被授予複選框以允許其存儲登錄憑證)。

由於您正在開發移動設備,因此您也可以選擇使用HTML5本地存儲,因爲絕大多數Android瀏覽器都支持它。在下面的鏈接中查看更多信息。

HTML5 Local storage info

我喜歡這個作爲登錄哈希可能即使用戶清除瀏覽器的Cookie,並能嚴格Javascript中處理持久化。

+0

謝謝。我想到了HTML5本地存儲,但我正在努力支持幾種不同的移動平臺(甚至是Symbian),並且我認爲我無法在任何地方依靠HTML5支持。不過,iOS是我的主要焦點。 – Anders 2012-07-16 20:58:32

+0

與現代Symbian瀏覽器一樣,iOS支持HTML5本地存儲。真的基於Web Kit的東西應該可以使用,儘管你可以明顯地檢查兼容性。 – 2012-07-16 21:13:27

+1

我確實最終爲我的應用程序使用Web存儲(包括localstorage和sessionstorage)而不是cookie。幾乎所有在過去3年中收到更新的瀏覽器似乎都受到支持。但是,我發現在啓用「隱私瀏覽」時,iOS中的網絡存儲空間會變成錯誤,因此必須記得用錯誤消息處理這些情況。 – Anders 2012-08-27 20:40:41