我正在創建一個RESTful API爲中心的Web應用程序。一旦用戶登錄,他們將收到會話ID和登錄密鑰,用於訪問他們的數據,直到他們的會話過期。如果會話保存在內存中,則Web應用程序(可能還有移動應用程序)將在每次加載頁面時調用API以獲取用戶信息。我正在儘可能地優化此API調用,並且我想知道緩存這些信息是否有意義。在PHP會話中保存用戶信息的安全漏洞?
每個包含用戶數據的表都包含一個更新的時間戳(在每個Postgres更新時觸發)。所以我可以修改API以接受可選的cache_timestamp
參數。該API將首先檢查是否有任何用戶數據的表格自該時間戳以來已被修改。如果他們有,那麼它會返回更新的用戶數據;如果沒有,它會返回一個304沒有修改,應用程序會使用緩存。
我的問題是什麼信息太敏感,無法保存在內存中(使用PHP會話)。目前,這些信息包含個人資料(姓名,公司等),聯繫人(電子郵件,電話),設置(通訊,通知)和付款信息(計劃,試用以及引用Stripe的客戶ID)等信息。
我認爲唯一的優勢在於付款信息,但除非我的API密鑰被泄露,否則他們不應該能夠從Stripe訪問任何數據。
在我看來,這似乎是一個糟糕的問題。它屬於近距離投票選項的'不建設性',因爲它'徵求意見/辯論'。 – Daedalus 2013-04-07 04:51:31
我可以看到它是一個意見。但我真的不知道瀏覽器會話是如何工作的,所以我不知道他們是否可以被視爲安全地存儲用戶信息(而不是密碼或信用卡)。 – Sam 2013-04-07 04:52:56
討厭告訴你...但是如果你發出會話ID,它幾乎肯定不是RESTful。 :P – cHao 2013-04-07 04:56:38